Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998


--  Module: Job Async Monitoring MIB (work-in-progress)
--  Author: Joe Filion, Ira McDonald
--  File:   jam_v010.txt, .dfm
--  Date:   4 March 1998 - Version 0.10

Printer Working Group                                         Joe Filion
Job Monitoring Project                                 Xerox Corporation
(work-in-progress)                                          Ira McDonald
(individual contribution)                                 High North Inc
                                                              March 1998


                     Definitions of Managed Objects
                  for Job Async Monitoring using SMIv2


Status of this Memo 

This  document  specifies  the  Job  Async  Monitoring  (JAM)  MIB,   an
individual  contribution  to  the Job Monitoring Project  (JMP)  of  the
Printer  Working  Group  (PWG), a work-in-progress MIB  module  for  the
entire  printer  industry, and requests discussion and  suggestions  for
improvements.  Distribution of this memo is unlimited.  

The JAM MIB specifies a lightweight SNMP trap registration mechanism for
end-user  clients,  management stations, and  management  proxies.  This
SNMP  trap registration mechanism is SNMP protocol version  independent.
This  SNMP  trap registration mechanism is security scheme  independent.

The  JAM  MIB  is  a companion to the PWG Job  Monitoring  MIB  and  the
IETF/PWG Printer MIB (published separately).  

The  JAM MIB is UNENCUMBERED by any patents pending or granted or  other
intellectual property considerations.  



















Filion, McDonald                                                [Page 1]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998



1.  Introduction

This  document  specifies  the  Job  Async  Monitoring  (JAM)  MIB,   an
individual  contribution  to  the Job Monitoring Project  (JMP)  of  the
Printer  Working  Group  (PWG), a work-in-progress MIB  module  for  the
entire  printer  industry, and requests discussion and  suggestions  for
improvements.  Distribution of this memo is unlimited.  

The JAM MIB specifies a lightweight SNMP trap registration mechanism for
end-user  clients,  management stations, and  management  proxies.  This
SNMP  trap registration mechanism is SNMP protocol version  independent.
This  SNMP  trap registration mechanism is security scheme  independent.

The  JAM  MIB  is  a companion to the PWG Job  Monitoring  MIB  and  the
IETF/PWG Printer MIB (published separately).  

The  JAM MIB is UNENCUMBERED by any patents pending or granted or  other
intellectual property considerations.  

The  JAM MIB has been written in ASN.1 (OSI Abstract Syntax Notation One
- ITU-T X.680/690 | ISO 8824/8825), using the IETF SNMPv2-SMI (Structure
of  Management  Information  - RFC 1902), the  IETF  SNMPv2-TC  (Textual
Conventions  -  RFC  1903), and the IETF CONF  for  SNMPv2  (Conformance
Statements - RFC 1904) macros and textual conventions.  




























Filion, McDonald                                                [Page 2]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998



2.  The SNMPv2 Network Management Framework

The   SNMPv2  Network  Management  Framework  consists  of  nine   major
components.  They are:  

    o   STD 17, RFC 1213 defines MIB-II, the core set of managed objects
        for the Internet suite of protocols.  
        
    o   RFC  1901 which introduces the Community-based SNMPv2  Protocol;
        
    o   RFC  1902 which defines the SNMPv2 SMI (Structure of Mgmt Info),
        the  mechanisms  used for describing and naming objects for  the
        purpose of management; 
        
    o   RFC  1903 which defines the SNMPv2 Textual Conventions (TC), the
        mechanisms  used  for defining 'named object types', for use  in
        defining managed objects; 
        
    o   RFC  1904  which  defines  the SNMPv2  Conformance  (CONF),  the
        mechanisms  used for defining 'conformance statements', for  use
        in  specifying precise levels of implementation conformance  for
        management agents; 
        
    o   RFC  1905  which  defines the SNMPv2 Protocol used  for  network
        access to managed objects; 
        
    o   RFC  1906  which defines the SNMPv2 Transport Mappings  for  the
        SNMPv2 Protocol; 
        
    o   RFC  1907 which defines the SNMPv2 MIB for the management of the
        SNMPv2 Protocol; and 
        
    o   RFC  1908 which defines coexistence between the SNMPv1  Protocol
        and the SNMPv2 Protocol.  

The  Framework  permits  new objects to be defined for  the  purpose  of
experimentation and evaluation.  


2.1.  SNMP Object Definitions

Managed objects are accessed via a virtual information store, termed the
Management  Information  Base  or MIB.  Objects in the MIB  are  defined
using  the subset of Abstract Syntax Notation One (ASN.1) defined in the
SMI.  In  particular,  each  object object type is named  by  an  OBJECT
IDENTIFIER, an administratively assigned name.  The object type together
with  an  object  instance  serves  to  uniquely  identify  a   specific
instantiation  of  the  object.  For human convenience, we often  use  a
textual string, termed the descriptor, to refer to the object type.  



Filion, McDonald                                                [Page 3]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998



3.  Managed Object Usage - JAM MIB



3.1.  Overview of Object Groups

Four  object  groups are specified in the JAM MIB.  A diagram  of  their
relationships  appears below:  brief comment (eg, 'Capabilities')  above
each box; object group name (eg, 'General') inside each box; conformance
level  in parentheses ('(Mandatory)' or '(Cond Mand)') inside each  box.

An object group name in parentheses (eg, '(Trap Client)') is a reference
to a previously defined object group.  
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Capabilities
|-----------|
|  General  |
|(Mandatory)|
|-----------|
      :
      :
      :      Client Registration
      :         |-----------|
      :     1-n |  Client   |
      :.........|(Mandatory)|
      :         |-----------|
      :               :
      :               :
      :               :      Client View Subtree
      :               :         |-----------|
      :               :     1-n |   View    |
      :               :.........|(Cond Mand)|
      :                         |-----------|
      :
      :   Client Lookup By Address
      :         |-----------|                              |-----------|
      :     1-n |Client Map |                          1-1 | (Client)  |
      :.........|(Cond Mand)|..............................|(Mandatory)|
                |-----------|                              |-----------|
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

                 Groups in PWG Job Async Monitoring MIB










Filion, McDonald                                                [Page 4]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998

Four object groups are specified in the JAM MIB, as follows:  

1)  General Group (Mandatory) 
    - 'jamGeneralTable'  contains  one  entry for  general  capabilities
    information  on  the  job async monitoring subsystem  on  this  host
    system; 
    - the  entry  supports  a bit-mask of ALL  mandatory,  conditionally
    mandatory, and optional JAM MIB object groups which are supported by
    a  given  management  agent implementation (set  by  the  responding
    management agent); 
    - the  entry  supports  a bit-mask of ALL  mandatory,  conditionally
    mandatory,  and  optional JAM MIB object groups  supporting  dynamic
    create (via 'createAndGo') which are supported by a given management
    agent implementation (set by the responding management agent); 
    - the  entry  supports  a bit-mask of ALL  mandatory,  conditionally
    mandatory,  and  optional JAM MIB object groups supporting  existing
    row  update (via SNMP Set) which are supported by a given management
    agent implementation (set by the responding management agent); 
    - the  entry  supports a bit-mask of ALL row persistence levels  for
    JAM  MIB  object  groups which are supported by a  given  management
    agent implementation (set by the responding management agent); 
    - the  entry supports a bit-mask of ALL SNMP transport domains  (ie,
    underlying   protocol  suites)  which  are  supported  by  a   given
    management  agent  implementation (set by the responding  management
    agent); 
    - the  entry supports a bit-mask statement of ALL SNMP versions (ie,
    protocol  versions) which are supported by a given management  agent
    implementation (set by the responding management agent).  
    
2)  Client Group (Mandatory) 
    - 'jamClientTable'  contains  entries  for each 'trap  client'  (ie,
    management station or proxy) registered on this host system; 
    - each  entry  supports a row status ('createAndGo' or 'active'  for
    dynamic  allocation)  or  ('notInService'  or  'active'  for  static
    allocation); 
    - each  entry supports a row persistence ('volatile', 'nonvolatile',
    'permanent', or 'readonly') 
    - each  entry  supports  a  row activation  timestamp  (set  by  the
    responding management agent); 
    - each  entry  supports  a  row expiration  timestamp  (set  by  the
    requesting management station or proxy); 
    - each  entry  supports  an  SNMP  transport  domain  (set  by   the
    requesting management station or proxy); 
    - each  entry  supports  an  SNMP  transport  address  (set  by  the
    requesting management station or proxy); 
    - each  entry  supports  an  SNMP  protocol  version  (set  by   the
    requesting management station or proxy); 
    - each  entry  supports  a base object subtree 'scope' (set  by  the
    requesting management station or proxy).  
    
3)  View Group (Conditionally Mandatory) 
    - 'jamViewTable'  contains entries for each 'trap view' (ie, refined
    scope) registered on this host system; 

Filion, McDonald                                                [Page 5]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998

    - each  entry  supports a row status ('createAndGo' or 'active'  for
    dynamic  allocation)  or  ('notInService'  or  'active'  for  static
    allocation); 
    - each  entry supports a refined object subtree 'scope' (set by  the
    requesting management station or proxy).  
    - each  entry supports an include/exclude flag for the 'scope'  (set
    by the requesting management station or proxy).  
    
4)  Client Map Group (Mandatory) 
    - 'jamClientMapTable'  contains entries for each 'trap client'  (ie,
    management station or proxy) registered on this host system; 
    - each  entry  supports  an SNMP transport  domain  (INDEX  element)
    (specified by the requesting management station or proxy); 
    - each  entry  supports  an SNMP transport address  (INDEX  element)
    (specified by the requesting management station or proxy); 
    - each  entry  supports  a  trap client  index  (read-only  element)
    (returned by the responding management agent).  





































Filion, McDonald                                                [Page 6]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998



3.2.  Relationship to other MIBs



3.2.1.  IETF Historic SNMPv2 Party MIB (RFC 1447)

The  entire  JAM MIB was inspired by the Historic SNMPv2 Party MIB  (RFC
1447).  


3.2.2.  IETF Printer MIB (RFC 1759)

The  Client  group  of the JAM MIB supports registration  of  an  object
subtree  base  view (which may include the trap defined in  the  Printer
MIB).  

The View group of the JAM MIB supports registration of an object subtree
refined  view  (which may include the trap defined in the Printer  MIB).


































Filion, McDonald                                                [Page 7]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998



4.  Managed Object Definitions - JAM MIB

Job-Async-Monitoring-MIB DEFINITIONS ::= BEGIN
--  Module: Job Async Monitoring MIB (work-in-progress)
--  Author: Joe Filion, Ira McDonald
--  File:   jam_v010.mib
--  Date:   4 March 1998 - Version 0.10

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, internet,
    enterprises, Integer32                      FROM SNMPv2-SMI
                                                -- RFC 1902
    TEXTUAL-CONVENTION, RowStatus,
    TruthValue, DateAndTime                     FROM SNMPv2-TC
                                                -- RFC 1903
    MODULE-COMPLIANCE, OBJECT-GROUP             FROM SNMPv2-CONF;
                                                -- RFC 1904

jobAsyncMonMIB MODULE-IDENTITY
    LAST-UPDATED "9703040000Z"
    ORGANIZATION "Printer Working Group (PWG)"
    CONTACT-INFO
        "Joe Filion
        Postal:     Xerox Corporation, MS 834-03E
                    300 Canalview Blvd
                    Rochester, NY  14623
        Voice:      716-231-0976
        Fax:        716-427-4600
        Email:      Joe_Filion@mc.xerox.com

        Ira McDonald
        Postal:     High North Inc
                    221 Ridge Ave
                    Grand Marais, MI  49839
        Voice:      906-494-2434
        Fax:        906-494-2434 (by prior arrangement only)
        Email:      imcdonal@eso.mc.xerox.com"
    DESCRIPTION
        "The MIB module for asynchronous monitoring (via SNMP traps) of
        jobs in servers, printers, and other devices, as well as async
        monitoring (via SNMP traps) of all open standard MIB modules.

        Version:    0.10"
    ::= { enterprises pwg(2699) mibs(1) jobAsyncMonMIB(999) }

--
--  Base Arc Definitions
--

jamMIBObjects       OBJECT IDENTIFIER  ::= { jobAsyncMonMIB 1 }
jamMIBNotifications OBJECT IDENTIFIER  ::= { jobAsyncMonMIB 2 }

Filion, McDonald                                                [Page 8]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998

jamMIBConformance   OBJECT IDENTIFIER  ::= { jobAsyncMonMIB 3 }

--
--  Textual Conventions
--

JamGroupSupportTC ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "This type is used to specify ALL mandatory, conditionally
        mandatory, and optional Job Async Monitoring MIB object groups
        supported by this management agent implementation (ie, version)
        on this host system, specified in a bit-mask.

              1 : jamGeneralGroup       -- 2**0 - Mandatory
              2 : jamClientGroup        -- 2**1 - Mandatory
              4 : jamViewGroup          -- 2**2 - Cond Mandatory
              8 : jamClientMapGroup     -- 2**3 - Cond Mandatory

        Usage:  Conforming management agents SHALL ALWAYS accurately
        report their support for Job Async Monitoring MIB groups."
    SYNTAX      Integer32 (0..2147483647)

JamRowPersistenceTC ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "This type is used to specify ALL row persistence values
        supported by this management agent implementation (ie, version)
        on this host system, specified in a bit-mask.

              1 : volatile              -- 2**0
              2 : nonvolatile           -- 2**1
              4 : permanent             -- 2**2
              8 : readonly              -- 2**3

                --  Reserved for vendor-specific extensions
          65536 : reservedLowest        -- 2**16
            ...
     1073741824 : reservedHighest       -- 2**30

        Usage:  Conforming management agents MAY support
        vendor-specific extensions to 'JamRowPersistenceTC'.

        Usage:  Conforming management agents SHALL ALWAYS interpret
        persistence as follows:

        1)  'volatile' rows NEED NOT be saved across power cycles,
            MAY contain one or more 'read-[create|write|only]' objects,
            and their underlying storage MAY be removable
            (eg, stored in RAM, PCMCIA card, etc);
        2)  'nonvolatile' rows SHALL be saved across power cycles,
            MAY contain one or more 'read-[create|write|only]' objects,
            and their underlying storage MAY be removable,

Filion, McDonald                                                [Page 9]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998

            (eg, stored in CD-ROM, font cartridge, hard disk, etc);
        3)  'permanent' rows SHALL be saved across power cycles,
            MAY contain one or more 'read-[write|only]' objects,
            and their underlying storage SHALL NOT be removable
            (eg, stored in EEPROM, battery-backed RAM, bubble, etc)
            and conforming management agents SHALL NOT delete such rows;
        4)  'readonly' rows SHALL be saved across power cycles,
            SHALL contain exclusively 'read-only' objects,
            and their underlying storage SHALL NOT be removable
            (eg, stored in ROM, ASIC, etc)
            and conforming management agents SHALL NOT delete such rows.

        Note:   Equivalent to SNMPv2 'StorageType' textual convention,
        which has an unfortunately ambiguous name.

        Usage:  Conforming management agents SHALL ALWAYS support
        'volatile' (lost across power cycles),

        Usage:  Conforming management agents NEED NOT support
        any other values of persistence."
    REFERENCE
        "See:   'hrStorageType' in the Storage group of the
                IETF Host Resources MIB (RFC 1514).
        See:    'StorageType' textual convention in the
                Historic SNMPv2 Party MIB (RFC 1447).
        See:    'StorageType' textual convention in the
                IETF SNMPv2 Textual Conventions (RFC 1903)."
    SYNTAX      Integer32 (0..2147483647)

JamSNMPTransportTC ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "This type is used to specify ALL SNMP transport domains
        supported by this management agent implementation (ie, version)
        on this host system, specified in a bit-mask.

        The bit-values are assigned algorithmically from the final arc
        of the 'snmp...Domain' object identifiers (defined in RFC 1906)
        by the formula 'bit-value = 2**(domain-1)'.

              1 : snmpTransportUDP      -- 2**0
              2 : snmpTransportCLMS     -- 2**1
              4 : snmpTransportCOMS     -- 2**2
              8 : snmpTransportDDP      -- 2**3
             16 : snmpTransportIPX      -- 2**4

                --  Reserved for vendor-specific extensions
          65536 : reservedLowest        -- 2**16
            ...
     1073741824 : reservedHighest       -- 2**30

        Usage:  Conforming management agents MAY support
        vendor-specific extensions to 'JamSNMPTransportTC'.

Filion, McDonald                                               [Page 10]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998


        Usage:  Conforming management agents SHALL ALWAYS accurately
        report their support for SNMP transport domains."
    REFERENCE
        "See:   'snmpUDPDomain' (SNMP over UDP transport - Internet)
                'snmpCLNSDomain' (SNMP over CLNS transport - OSI)
                'snmpCONSDomain' (SNMP over CONS transport - OSI)
                'snmpDDPDomain' (SNMP over DDP transport - Appletalk)
                'snmpIPXDomain' (SNMP over IPX transport - NetWare)
                SNMP transport domain object identifiers
                IETF SNMPv2 Transport Mappings (RFC 1906)."
    SYNTAX      Integer32 (0..2147483647)

JamSNMPAddressTC ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "This type is used to specify ALL SNMP transport addresses
        supported by this management agent implementation (ie, version)
        on this host system."
    REFERENCE
        "See:   'SnmpUDPAddress' (IP addr, UDP port - Internet),
                'SnmpOSIAddress' (len, NSAP addr, TSelector - OSI),
                'SnmpNBPAddress' (object, type, zone - AppleTalk),
                'SnmpIPXAddress' (net no, MAC addr, socket - NetWare)
                textual conventions in the
                IETF SNMPv2 Transport Mappings (RFC 1906)."
    SYNTAX      OCTET STRING (SIZE (0..255))

JamSNMPVersionTC ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "This type is used to specify ALL SNMP protocol versions
        supported by this management agent implementation (ie, version)
        on this host system, specified in a bit-mask.

              1 : snmpV1Community       -- 2**0
                --  SNMPv1 Final Standard w/ Communities (RFC 1157)
              2 : snmpV1Party           -- 2**1
                --  SNMPv1 Historic w/ Party MIB (RFC 1353)
              4 : snmpV2Party           -- 2**2
                --  SNMPv2 Historic w/ Party MIB (RFC 1447)
              8 : snmpV2Community       -- 2**3
                --  SNMPv2 Draft Standard w/ Communities (RFC 1905)
             16 : snmpV3Security        -- 2**4
                --  SNMPv3 Proposed Standard w/ Security (RFC 2271-2275)

                --  Reserved for vendor-specific extensions
          65536 : reservedLowest        -- 2**16
            ...
     1073741824 : reservedHighest       -- 2**30

        Usage:  Conforming management agents MAY support
        vendor-specific extensions to 'JamSNMPVersionTC'.

Filion, McDonald                                               [Page 11]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998


        Usage:  Conforming management agents SHALL ALWAYS accurately
        report their support for SNMP protocol versions."
    REFERENCE
        "See:   IETF SNMP specifications cited above."
    SYNTAX      Integer32 (0..2147483647)

--
--  Object Definitions
--

--  General Group (Mandatory)
--
--  Implementation of this group is mandatory for all systems.

jamGeneral             OBJECT IDENTIFIER ::= { jamMIBObjects 1 }

jamGeneralTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF JamGeneralEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of general counters and capabilities for ease of use
        of the XCMI Job Async Monitoring MIB on this host system.

        Usage:  The ONLY valid row in the 'jamGeneralTable'
        SHALL ALWAYS have a 'jamGeneralIndex' of one ('1')."
    ::= { jamGeneral 2 }

jamGeneralEntry OBJECT-TYPE
    SYNTAX      JamGeneralEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry of general counters and capabilities for ease of use
        of the XCMI Job Async Monitoring MIB on this host system.

        Usage:  The ONLY valid row in the 'jamGeneralTable'
        SHALL ALWAYS have a 'jamGeneralIndex' of one ('1')."
    INDEX       { jamGeneralIndex }
    ::= { jamGeneralTable 1 }

JamGeneralEntry ::= SEQUENCE {
        jamGeneralIndex                 Integer32 (1..1),
        jamGeneralGroupSupport          JamGroupSupportTC,
        jamGeneralCreateSupport         JamGroupSupportTC,
        jamGeneralUpdateSupport         JamGroupSupportTC,
        jamGeneralRowPersistenceSupport JamRowPersistenceTC,
        jamGeneralSNMPTransportSupport  JamSNMPTransportTC,
        jamGeneralSNMPVersionSupport    JamSNMPVersionTC,
        jamGeneralHighestClientIndex    Integer32 (0..2147483647),
        jamGeneralMaximumClientIndex    Integer32 (0..2147483647),
        jamGeneralMaximumViewIndex      Integer32 (0..2147483647)

Filion, McDonald                                               [Page 12]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998

    }

jamGeneralIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..1)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This object is used to specify a unique value used to
        identify this conceptual row in the 'jamGeneralTable'.

        Usage:  The ONLY valid row in the 'jamGeneralTable'
        SHALL ALWAYS have a 'jamGeneralIndex' of one ('1')."
--  DEFVAL intentionally omitted - not permitted on an index object
    ::= { jamGeneralEntry 1 }

jamGeneralGroupSupport OBJECT-TYPE
    SYNTAX      JamGroupSupportTC
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object is used to specify ALL mandatory, conditionally
        mandatory, and optional Job Async Monitoring MIB object groups
        supported by this management agent implementation (ie, version)
        on this host system, specified in a bit-mask.

        Usage:  Conforming management agents SHALL ALWAYS accurately
        report their support for Job Async Monitoring MIB groups."
    DEFVAL      { 3 }                   -- mandatory groups
    ::= { jamGeneralEntry 2 }

jamGeneralCreateSupport OBJECT-TYPE
    SYNTAX      JamGroupSupportTC
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object is used to specify ALL mandatory, conditionally
        mandatory, and optional Job Async Monitoring MIB object groups
        supported for dynamic row creation (via 'createAnd[Go|Wait')
        by this management agent implementation (ie, version)
        on this host system, specified in a bit-mask.

        Usage:  Conforming management agents SHALL ALWAYS accurately
        report their support for Job Async Monitoring MIB groups."
    DEFVAL      { 0 }                   -- no mandatory create groups
    ::= { jamGeneralEntry 3 }

jamGeneralUpdateSupport OBJECT-TYPE
    SYNTAX      JamGroupSupportTC
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object is used to specify ALL mandatory, conditionally
        mandatory, and optional Job Async Monitoring MIB object groups

Filion, McDonald                                               [Page 13]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998

        supported for existing row update (via SNMP Set-Request PDUs)
        by this management agent implementation (ie, version)
        on this host system, specified in a bit-mask.

        Usage:  Conforming management agents SHALL ALWAYS accurately
        report their support for Job Async Monitoring MIB groups."
    DEFVAL      { 2 }                   -- one mandatory update group
    ::= { jamGeneralEntry 4 }

jamGeneralRowPersistenceSupport OBJECT-TYPE
    SYNTAX      JamRowPersistenceTC
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This type is used to specify ALL row persistence values
        supported by this management agent implementation (ie, version)
        on this host system, specified in a bit-mask.

        Usage:  Conforming management agents SHALL ALWAYS report their
        supported values as a 'bit-mask' formed via the bit-wise OR of
        each supported row persistence 'bit-value' specified
        in the 'JamRowPersistenceTC' textual convention.

        Usage:  Conforming management agents SHALL ALWAYS support
        'volatile' (lost across power cycles),

        Usage:  Conforming management agents NEED NOT support
        any other values of persistence."
    REFERENCE
        "See:   'jamClientRowPersistence' object in this MIB."
    DEFVAL      { 1 }                   -- volatile
    ::= { jamGeneralEntry 5 }

jamGeneralSNMPTransportSupport OBJECT-TYPE
    SYNTAX      JamSNMPTransportTC
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object is used to specify ALL SNMP transport domains
        supported by this management agent implementation (ie, version)
        on this host system, specified in a bit-mask.

        Usage:  Conforming management agents SHALL ALWAYS report their
        supported values as a 'bit-mask' formed via the bit-wise OR of
        each supported SNMP transport mapping 'bit-value' specified
        in the 'JamSNMPTransportTC' textual convention."
    REFERENCE
        "See:   'jamClientSNMPTransport' object in this MIB."
--  DEFVAL intentionally omitted - agents SHALL ALWAYS report support
    ::= { jamGeneralEntry 6 }

jamGeneralSNMPVersionSupport OBJECT-TYPE
    SYNTAX      JamSNMPVersionTC

Filion, McDonald                                               [Page 14]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998

    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object is used to specify ALL SNMP protocol versions
        supported by this management agent implementation (ie, version)
        on this host system, specified in a bit-mask.

        Usage:  Conforming management agents SHALL ALWAYS report their
        supported values as a 'bit-mask' formed via the bit-wise OR of
        each supported SNMP protocol version 'bit-value' specified
        in the 'JamSNMPVersionTC' textual convention."
    REFERENCE
        "See:   'jamClientSNMPVersion' object in this MIB."
--  DEFVAL intentionally omitted - agents SHALL ALWAYS report support
    ::= { jamGeneralEntry 7 }

jamGeneralHighestClientIndex OBJECT-TYPE
    SYNTAX      Integer32 (0..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object is used to specify the highest value used to
        identify ANY 'active' conceptual row in the 'jamClientTable'
        which corresponds to a registered trap client
        (management station or proxy).

        Usage:  This object MAY be permanent (ie, preserved
        across all hardware resets).

        Usage:  Conforming management stations or proxies SHOULD read
        this object to obtain information about the 'next available'
        value for 'jamClientIndex', prior to trap registration when:
        a)  'jamClientRowStatus' goes from 'notInService' to 'active'
            (for static allocation); or
        b)  'jamClientRowStatus' goes from 'createAndGo' to 'active'
            (for dynamic allocation)."
--  DEFVAL intentionally omitted - agents SHALL ALWAYS report support
    ::= { jamGeneralEntry 8 }

jamGeneralMaximumClientIndex OBJECT-TYPE
    SYNTAX      Integer32 (0..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object is used to specify the maximum value allowed to
        identify ANY 'active' conceptual row in the 'jamClientTable'
        which corresponds to a registered trap client
        (management station or proxy).

        Usage:  This object MAY be permanent (ie, preserved
        across all hardware resets).

        Usage:  Conforming management stations or proxies SHOULD read

Filion, McDonald                                               [Page 15]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998

        this object to obtain information about the 'last available'
        value for 'jamClientIndex', prior to trap registration when:
        a)  'jamClientRowStatus' goes from 'notInService' to 'active'
            (for static allocation); or
        b)  'jamClientRowStatus' goes from 'createAndGo' to 'active'
            (for dynamic allocation)."
--  DEFVAL intentionally omitted - agents SHALL ALWAYS report support
    ::= { jamGeneralEntry 9 }

jamGeneralMaximumViewIndex OBJECT-TYPE
    SYNTAX      Integer32 (0..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object is used to specify the maximum value allowed to
        identify ANY 'active' conceptual row in the 'jamViewTable'
        which corresponds to a registered trap client
        (management station or proxy).

        Usage:  This object MAY be permanent (ie, preserved
        across all hardware resets).

        Usage:  Conforming management stations or proxies SHOULD read
        this object to obtain information about the 'last available'
        value for 'jamViewIndex', prior to trap registration when:
        a)  'jamViewRowStatus' goes from 'notInService' to 'active'
            (for static allocation); or
        b)  'jamViewRowStatus' goes from 'createAndGo' to 'active'
            (for dynamic allocation)."
--  DEFVAL intentionally omitted - agents SHALL ALWAYS report support
    ::= { jamGeneralEntry 10 }

--  Client Group (Mandatory)
--
--  Implementation of this group is mandatory for all systems.

jamClient       OBJECT IDENTIFIER ::= { jamMIBObjects 2 }

jamClientTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF JamClientEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of SNMP trap clients (management stations or proxies)
        registered for trap delivery from this host system.

        Usage:  SNMP version/transport independent trap registration."
    REFERENCE
        "See:   Party group in Historic SNMPv2 Party MIB (RFC 1447)."
    ::= { jamClient 2 }

jamClientEntry OBJECT-TYPE
    SYNTAX      JamClientEntry

Filion, McDonald                                               [Page 16]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998

    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry for an SNMP trap client (management station or proxy)
        registered for trap delivery from this host system."
    INDEX       { jamClientIndex }
    ::= { jamClientTable 1 }

JamClientEntry ::= SEQUENCE {
        jamClientIndex                  Integer32 (1..2147483647),
        jamClientRowStatus              RowStatus,
        jamClientRowPersistence         JamRowPersistenceTC,
        jamClientRowActivationTime      DateAndTime,
        jamClientRowExpirationTime      DateAndTime,
        jamClientSNMPTransport          JamSNMPTransportTC,
        jamClientSNMPAddress            JamSNMPAddressTC,
        jamClientSNMPVersion            JamSNMPVersionTC,
        jamClientObjectSubtree          OBJECT IDENTIFIER
    }

jamClientIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This object is used to specify the unique value used to
        identify this conceptual row in the 'jamClientTable'
        which corresponds to this registered trap client
        (management station or proxy).

        Usage:  This object MAY be permanent (ie, preserved
        across all hardware resets)."
    REFERENCE
        "See:   'jamGeneralHighestClientIndex' object in this MIB.
        See:    'jamGeneralMaximumClientIndex' object in this MIB.
        See:    'jamClientMapClientIndex' object in this MIB."
--  DEFVAL intentionally omitted - not permitted on an index object
    ::= { jamClientEntry 1 }

jamClientRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object is used to manage the row status of this
        conceptual row in the 'jamClientTable'.

        Usage:  Conforming management agents SHALL ALWAYS support
        'active(1)' and 'notInService(2)' (for static allocation).

        Usage:  Conforming management agents MAY ALSO support
        'createAndGo(4)' and 'destroy(6)' (for dynamic allocation).


Filion, McDonald                                               [Page 17]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998


        Usage:  Conforming management agents NEED NOT support
        'notReady(3)' or 'createAndWait(5)' (for partial allocation)."
--  DEFVAL intentionally omitted - not permitted on a row status object
    ::= { jamClientEntry 2 }

jamClientRowPersistence OBJECT-TYPE
    SYNTAX      JamRowPersistenceTC
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object is used to specify the row persistence of this
        conceptual row in the 'jamClientTable' (and any associated
        conceptual rows in the 'jamViewTable').

        Usage:  Conforming management agents SHALL ALWAYS support
        'volatile' (lost across power cycles),

        Usage:  Conforming management agents NEED NOT support
        any other values of persistence."
    DEFVAL      { 1 }                   -- volatile
    ::= { jamClientEntry 3 }

jamClientRowActivationTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object is used to specify the activation time of this
        conceptual row in the 'jamClientTable' (and any associated
        conceptual rows in the 'jamViewTable').

        Usage:  Conforming management agents SHALL ALWAYS timestamp
        each conceptual row in the 'jamClientTable' when
        a)  'jamClientRowStatus' goes from 'notInService' to 'active'
            (for static allocation); or
        b)  'jamClientRowStatus' goes from 'createAndGo' to 'active'
            (for dynamic allocation)."
--  DEFVAL intentionally omitted - agents SHALL ALWAYS timestamp rows
    ::= { jamClientEntry 4 }

jamClientRowExpirationTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object is used to specify the expiration time of this
        conceptual row in the 'jamClientTable' (and any associated
        conceptual rows in the 'jamViewTable').

        Usage:  Conforming management stations or proxies MAY timestamp
        each conceptual row in the 'jamClientTable' when
        a)  'jamClientRowStatus' goes from 'notInService' to 'active'

Filion, McDonald                                               [Page 18]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998

            (for static allocation); or
        b)  'jamClientRowStatus' goes from 'createAndGo' to 'active'
            (for dynamic allocation)."
    DEFVAL      { '0000000000000000'H } -- no expiration time (infinite)
    ::= { jamClientEntry 5 }

jamClientSNMPTransport OBJECT-TYPE
    SYNTAX      JamSNMPTransportTC
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object is used to specify the transport domain (below
        SNMP) which SHALL be used by this management agent to deliver
        SNMP traps to the trap client (management station or proxy)."
    REFERENCE
        "See:   'JamSNMPTransportTC' textual convention in this MIB.
        See:    'jamClientMapClientSNMPTransport' object in this MIB."
--  DEFVAL intentionally omitted - agents NEED NOT support any transport
    ::= { jamClientEntry 6 }

jamClientSNMPAddress OBJECT-TYPE
    SYNTAX      JamSNMPAddressTC
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object is used to specify the transport address (below
        SNMP) which SHALL be used by this management agent to deliver
        SNMP traps to the trap client (management station or proxy).

        Usage:  This transport address usually consists of an underlying
        network layer address with a suffixed transport selector."
    REFERENCE
        "See:   'JamSNMPAddressTC' textual convention in this MIB.
        See:    'jamClientMapClientSNMPAddress' object in this MIB."
--  DEFVAL intentionally omitted - agents NEED NOT support any transport
    ::= { jamClientEntry 7 }

jamClientSNMPVersion OBJECT-TYPE
    SYNTAX      JamSNMPVersionTC
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object is used to specify the exact SNMP protocol version
        chosen by the trap client registered in this conceptual row and
        which SHALL be used by this management agent to deliver traps
        to the trap client (management station or proxy)."
    REFERENCE
        "See:   'JamSNMPVersionTC' textual convention in this MIB."
--  DEFVAL intentionally omitted - agents NEED NOT support any version
    ::= { jamClientEntry 8 }

jamClientObjectSubtree OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER

Filion, McDonald                                               [Page 19]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998

    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object is used to specify the base object subtree
        (within MIBs) which is the 'scope' for this trap client."
    DEFVAL      { internet }            -- all objects in scope
    ::= { jamClientEntry 9 }

--  View Group (Conditionally Mandatory)
--
--  Implementation of this group is conditionally mandatory, ie,
--  mandatory for systems which implement restricted SNMP trap views
--  and optional for all other systems.

jamView         OBJECT IDENTIFIER ::= { jamMIBObjects 3 }

jamViewTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF JamViewEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of SNMP trap object subtrees (ie, trap scopes)
        registered for trap delivery from this host system to the
        associated trap client (management station or proxy).

        Usage:  SNMP version/transport independent trap registration."
    REFERENCE
        "See:   View group in Historic SNMPv2 Party MIB (RFC 1447)."
    ::= { jamView 2 }

jamViewEntry OBJECT-TYPE
    SYNTAX      JamViewEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry for an SNMP trap object subtree (ie, trap scope)
        registered for trap delivery from this host system to the
        associated trap client (management station or proxy)."
    INDEX       { jamClientIndex,
                  jamViewIndex }
    ::= { jamViewTable 1 }

JamViewEntry ::= SEQUENCE {
        jamViewIndex                    Integer32 (1..2147483647),
        jamViewRowStatus                RowStatus,
        jamViewObjectSubtree            OBJECT IDENTIFIER,
        jamViewIncluded                 TruthValue
    }

jamViewIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current

Filion, McDonald                                               [Page 20]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998

    DESCRIPTION
        "This object is used to specify the unique value used to
        identify this conceptual row in the 'jamViewTable'
        which corresponds to this registered trap view.

        Usage:  This object MAY be permanent (ie, preserved
        across all hardware resets)."
    REFERENCE
        "See:   'jamGeneralMaximumViewIndex' object in this MIB."
--  DEFVAL intentionally omitted - not permitted on an index object
    ::= { jamViewEntry 1 }

jamViewRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object is used to manage the row status of this
        conceptual row in the 'jamViewTable'.

        Usage:  Conforming management agents SHALL ALWAYS support
        'active(1)' and 'notInService(2)' (for static allocation).

        Usage:  Conforming management agents MAY ALSO support
        'createAndGo(4)' and 'destroy(6)' (for dynamic allocation).

        Usage:  Conforming management agents NEED NOT support
        'notReady(3)' or 'createAndWait(5)' (for partial allocation)."
--  DEFVAL intentionally omitted - not permitted on a row status object
    ::= { jamViewEntry 2 }

jamViewObjectSubtree OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object is used to specify the refined object subtree
        (within MIBs) which is the 'scope' for this trap view."
    DEFVAL      { internet }            -- all objects in scope
    ::= { jamViewEntry 3 }

jamViewIncluded OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object is used to INCLUDE the refined object subtree
        (within MIBs) from the 'scope' of this trap view.

        Usage:  To EXCLUDE the refined object subtree, this object
        should be set to 'false'."
    DEFVAL      { true }                -- trap view included
    ::= { jamViewEntry 4 }

Filion, McDonald                                               [Page 21]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998


--  Client Map Group (Conditionally Mandatory)
--
--  Implementation of this group is conditionally mandatory, ie,
--  mandatory for systems which implement address to client mapping
--  and optional for all other systems.

jamClientMap        OBJECT IDENTIFIER ::= { jamMIBObjects 4 }

jamClientMapTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF JamClientMapEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of SNMP trap clients (management stations or proxies)
        registered for trap delivery from this host system.

        Usage:  SNMP trap client lookup via transport address."
    REFERENCE
        "See:   'jamClientTable' composite object in this MIB."
    ::= { jamClientMap 2 }

jamClientMapEntry OBJECT-TYPE
    SYNTAX      JamClientMapEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry for an SNMP trap client (management stations or proxy)
        registered for trap delivery from this host system."
    INDEX       { jamClientMapClientSNMPTransport,
                  jamClientMapClientSNMPAddress,
                  jamClientMapClientIndex }
    ::= { jamClientMapTable 1 }

JamClientMapEntry ::= SEQUENCE {
        jamClientMapClientSNMPTransport JamSNMPTransportTC,
        jamClientMapClientSNMPAddress   JamSNMPAddressTC,
        jamClientMapClientIndex         Integer32 (1..2147483647)
    }

jamClientMapClientSNMPTransport OBJECT-TYPE
    SYNTAX      JamSNMPTransportTC
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This object is used to specify the transport domain (below
        SNMP) which SHALL be used by this management agent to deliver
        SNMP traps to the trap client (management station or proxy).

        Usage:  This object MAY be permanent (ie, preserved
        across all hardware resets)."
    REFERENCE
        "See:   'JamSNMPTransportTC' textual convention in this MIB.

Filion, McDonald                                               [Page 22]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998

        See:    'jamClientSNMPTransport' object in this MIB."
--  DEFVAL intentionally omitted - not permitted on an index object
    ::= { jamClientMapEntry 1 }

jamClientMapClientSNMPAddress OBJECT-TYPE
    SYNTAX      JamSNMPAddressTC
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This object is used to specify the transport address (below
        SNMP) which SHALL be used by this management agent to deliver
        SNMP traps to the trap client (management station or proxy).

        Usage:  This object MAY be permanent (ie, preserved
        across all hardware resets)."
    REFERENCE
        "See:   'JamSNMPAddressTC' textual convention in this MIB.
        See:    'jamClientSNMPAddress' object in this MIB."
--  DEFVAL intentionally omitted - not permitted on an index object
    ::= { jamClientMapEntry 2 }

jamClientMapClientIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This object is used to specify the unique value used to
        identify the conceptual row in the 'jamClientTable'
        which corresponds to this registered trap client
        (management station or proxy).

        Usage:  This object MAY be permanent (ie, preserved
        across all hardware resets)."
    REFERENCE
        "See:   'jamGeneralHighestClientIndex' object in this MIB.
        See:    'jamGeneralMaximumClientIndex' object in this MIB.
        See:    'jamClientIndex' object in this MIB."
--  DEFVAL intentionally omitted - not permitted on an index object
    ::= { jamClientMapEntry 3 }

--
--  Conformance Definitions
--

--
--  Compliance Statements
--







Filion, McDonald                                               [Page 23]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998

jamMIBCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "The compliance statements for SNMP management agents that
        implement the Job Async Monitoring MIB."
    MODULE -- this module
    MANDATORY-GROUPS {
        jamGeneralGroup,
        jamClientGroup
    }

    GROUP       jamViewGroup
    DESCRIPTION
        "Implementation of this group is conditionally mandatory, ie,
        mandatory for systems which implement restricted SNMP trap views
        and optional for all other systems."

    GROUP       jamClientMapGroup
    DESCRIPTION
        "Implementation of this group is conditionally mandatory, ie,
        mandatory for systems which implement address to client mapping
        and optional for all other systems."

    OBJECT      jamGeneralHighestClientIndex
    SYNTAX      Integer32 (0..10)
    DESCRIPTION
        "It is conformant to implement this object as above, and
        only specified range values for the 'jamClientIndex'
        object need be supported."

    OBJECT      jamGeneralMaximumClientIndex
    SYNTAX      Integer32 (0..10)
    DESCRIPTION
        "It is conformant to implement this object as above, and
        only specified range values for the 'jamClientIndex'
        object need be supported."

    OBJECT      jamGeneralMaximumViewIndex
    SYNTAX      Integer32 (0..10)
    DESCRIPTION
        "It is conformant to implement this object as above, and
        only specified range values for the 'jamViewIndex'
        object need be supported."

    OBJECT      jamClientRowStatus
    SYNTAX      INTEGER {               -- subset of RowStatus
        active(1),
        notInService(2)
--      notReady(3),
--      createAndGo(4),
--      createAndWait(5),
--      destroy(6)
        }

Filion, McDonald                                               [Page 24]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998

    MIN-ACCESS  read-write
    DESCRIPTION
        "It is conformant to implement this object as read-write, and
        only specified enumerated values for the 'RowStatus'
        textual convention need be supported."

    OBJECT      jamClientRowPersistence
    SYNTAX      Integer32 (1..1)        -- volatile (2**0)
    MIN-ACCESS  read-write
    DESCRIPTION
        "It is conformant to implement this object as read-write, and
        only specified enumerated values for the 'JamRowPersistenceTC'
        textual convention need be supported."

    OBJECT      jamClientRowExpirationTime
    MIN-ACCESS  read-write
    DESCRIPTION
        "It is conformant to implement this object as read-write."

    OBJECT      jamClientSNMPTransport
    SYNTAX      Integer32 (0..32767)
    MIN-ACCESS  read-write
    DESCRIPTION
        "It is conformant to implement this object as read-write, and
        no specific enumerated values for the 'JamSNMPTransportTC'
        textual convention need be supported."

    OBJECT      jamClientSNMPAddress
    SYNTAX      OCTET STRING (SIZE (0..32))
    MIN-ACCESS  read-write
    DESCRIPTION
        "It is conformant to implement this object as read-write, and
        only 32 octets maximum string length need be supported."

    OBJECT      jamClientSNMPVersion
    SYNTAX      Integer32 (0..32767)
    MIN-ACCESS  read-write
    DESCRIPTION
        "It is conformant to implement this object as read-write, and
        no specific enumerated values for the 'JamSNMPVersionTC'
        textual convention need be supported."

    OBJECT      jamClientObjectSubtree
    MIN-ACCESS  read-write
    DESCRIPTION
        "It is conformant to implement this object as read-write."

    OBJECT      jamViewRowStatus
    SYNTAX      INTEGER {               -- subset of RowStatus
        active(1),
        notInService(2)
--      notReady(3),
--      createAndGo(4),

Filion, McDonald                                               [Page 25]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998

--      createAndWait(5),
--      destroy(6)
        }
    MIN-ACCESS  read-write
    DESCRIPTION
        "It is conformant to implement this object as read-write, and
        only specified enumerated values for the 'RowStatus'
        textual convention need be supported."

    OBJECT      jamViewObjectSubtree
    MIN-ACCESS  read-write
    DESCRIPTION
        "It is conformant to implement this object as read-write."

    OBJECT      jamViewIncluded
    MIN-ACCESS  read-write
    DESCRIPTION
        "It is conformant to implement this object as read-write."

    ::= { jamMIBConformance 1 }

--
--  Conformance Groups
--
jamMIBGroups
             OBJECT IDENTIFIER ::= { jamMIBConformance 2 }

jamGeneralGroup OBJECT-GROUP
    OBJECTS {
        jamGeneralGroupSupport,
        jamGeneralCreateSupport,
        jamGeneralUpdateSupport,
        jamGeneralRowPersistenceSupport,
        jamGeneralSNMPTransportSupport,
        jamGeneralSNMPVersionSupport,
        jamGeneralHighestClientIndex,
        jamGeneralMaximumClientIndex,
        jamGeneralMaximumViewIndex
    }
    STATUS      current
    DESCRIPTION
        "General Group (Job Async Monitoring MIB capabilities)"
    ::= { jamMIBGroups 1 }

jamClientGroup OBJECT-GROUP
    OBJECTS {
        jamClientRowStatus,
        jamClientRowPersistence,
        jamClientRowActivationTime,
        jamClientRowExpirationTime,
        jamClientSNMPTransport,
        jamClientSNMPAddress,
        jamClientSNMPVersion,

Filion, McDonald                                               [Page 26]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998

        jamClientObjectSubtree
    }
    STATUS      current
    DESCRIPTION
        "Client Group (trap destination transports/addresses)"
    ::= { jamMIBGroups 2 }

jamViewGroup OBJECT-GROUP
    OBJECTS {
        jamViewRowStatus,
        jamViewObjectSubtree,
        jamViewIncluded
    }
    STATUS      current
    DESCRIPTION
        "View Group (refined SNMP object subtrees)"
    ::= { jamMIBGroups 3 }

jamClientMapGroup OBJECT-GROUP
    OBJECTS {
        jamClientMapClientIndex
    }
    STATUS      current
    DESCRIPTION
        "Client Map Group (transport address to client index mapping)"
    ::= { jamMIBGroups 4 }

END


























Filion, McDonald                                               [Page 27]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998



5.  Acknowledgements

The authors would like to thank ...  


6.  References

[1]   ITU-T X.200:1996 | ISO 7498-1:1996 - OSI Basic Reference Model 
      
[2]   ITU-T X.800:1996 | ISO 7498-2:1996 - OSI  Security Reference Model
      
[3]   ITU-T X.650:1996 | ISO 7498-3:1996 - OSI  Naming  and   Addressing
      Reference Model 
      
[4]   ITU-T X.700:1996 | ISO 7498-4:1996 - OSI    Management   Reference
      Model 
      
[5]   ITU-T X.680:1994 | ISO 8824:1994 - OSI  Abstract  Syntax  Notation
      One (ASN.1) Specification 
      
[6]   ITU-T X.690:1994 | ISO 8825:1994 - OSI  Abstract  Syntax  Notation
      One (ASN.1) Basic, Canonical, and Distinguished Encoding Rules 
      
[7]   ITU-T X.210:1993 | ISO ....:1993 - OSI Reference Model Conventions
      
[8]   ITU-T X.710:1996 | ISO 9595:1996 - OSI      Common      Management
      Information Service (CMIS) 
      
[9]   ITU-T X.711:1996 | ISO 9596:1996 - OSI      Common      Management
      Information Protocol (CMIP) 
      
[10]  IEEE 802.1B:1993 | ISO 15802-2:1995 - OSI    LAN/MAN    Management
      Protocol (LMMP) 
      
[11]  IETF RFC 1155 - Structure  of  Management Information  for  SNMPv1
      (SMIv1, May 1990) 
      
[12]  IETF RFC 1157 - Simple  Network  Management  Protocol  Version   1
      (SNMPv1, May 1990) 
      
[13]  IETF RFC 1212 - Concise MIB Definitions for SNMPv1 (Concise SMIv1,
      March 1991) 
      
[14]  IETF RFC 1213 - Management  Information Base II (MIB-II in  SMIv1,
      March 1991) 
      
[15]  IETF RFC 1447 - (Historic)  Party MIB for SNMPv2 (in SMIv2,  April
      1993) 
      
[16]  IETF RFC 1514 - Host Resources MIB (September 1993) 


Filion, McDonald                                               [Page 28]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998

      
[17]  IETF RFC 1759 - Printer MIB (March 1995) 
      
[18]  IETF RFC 1901 - Introduction     to     Community-based     SNMPv2
      (SNMPv2-INTRO, January 1996) 
      
[19]  IETF RFC 1902 - Structure    of   Management   Info   for   SNMPv2
      (SNMPv2-SMI, January 1996) 
      
[20]  IETF RFC 1903 - Textual Conventions for SNMPv2 (SNMPv2-TC, January
      1996) 
      
[21]  IETF RFC 1904 - Conformance  Statements  for SNMPv2  (SNMPv2-CONF,
      January 1996) 
      
[22]  IETF RFC 1905 - Protocol   Operations  for  SNMPv2  (SNMPv2-PROTO,
      January 1996) 
      
[23]  IETF RFC 1906 - Transport  Mappings for SNMPv2 (SNMPv2-TM, January
      1996) 
      
[24]  IETF RFC 1907 - MIB for SNMPv2 (SNMPv2-MIB, January 1996) 
      
[25]  IETF RFC 1908 - Coexistence     between    SNMPv1    and    SNMPv2
      (SNMPv2-COEX, January 1996) 
      
[26]  IETF RFC 2200 - Internet  Official Protocol Standards (June  1997)
      
[27]  IETF RFC 2233 - The  Interfaces  Group MIB using  SMIv2  (November
      1997) 
























Filion, McDonald                                               [Page 29]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998



7.  Security Considerations

Security issues arise with respect to any MIB which defines objects with
'read-write'  and/or 'read-create' access, and so apply to this JAM MIB.

Implementors  are advised to consider implementing security at the  SNMP
packet level and/or at the SNMP transaction level.  


8.  Authors' Addresses


Joe Filion
Postal:     Xerox Corporation, MS 834-03E
            300 Canalview Blvd
            Rochester, NY  14623
Voice:      716-231-0976
Fax:        716-427-4600
Email:      Joe_Filion@mc.xerox.com

Ira McDonald
Postal:     High North Inc
            221 Ridge Ave
            Grand Marais, MI  49839
Voice:      906-494-2434
Fax:        906-494-2434 (by prior arrangement only)
Email:      imcdonal@eso.mc.xerox.com


9.  Appendix A - Rationale of JAM MIB



9.1.  Base Arc Definitions



9.2.  Textual Conventions



9.2.1.  JamGroupSupportTC

This  textual convention specifies JAM MIB object groups as a  bit-mask,
to  support  dynamic  discovery (by management stations or  proxies)  of
those  supported  by  a  given management agent, and  whether  they  are
supported for create access or only write access.  





Filion, McDonald                                               [Page 30]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998



9.2.2.  JamRowPersistenceTC

This  textual  convention specifies the canonical levels of row  storage
persistence  (from 'StorageType' in RFC 1903) as a bit-mask, to  support
dynamic discovery (by management stations or proxies) of those supported
by a given management agent.  


9.2.3.  JamSNMPTransportTC

This  textual convention specifies SNMP transport domains as a bit-mask,
to  support  dynamic  discovery (by management stations or  proxies)  of
those supported by a given management agent.  


9.2.4.  JamSNMPAddressTC

This  textual convention specifies SNMP transport addresses as  strings,
(following the textual conventions defined in RFC 1906).  


9.2.5.  JamSNMPVersionTC

This  textual convention specifies SNMP protocol versions as a bit-mask,
to  support  dynamic  discovery (by management stations or  proxies)  of
those supported by a given management agent.  


9.3.  Object Definitions



9.3.1.  General Group (Mandatory)



9.3.1.1.  jamGeneralIndex

This  index  is  fixed  at '1', to permit the following  objects  to  be
defined as columnar objects rather than leaf objects (for clarity).  


9.3.1.2.  jamGeneralGroupSupport

This  object  specifies JAM MIB object groups as a bit-mask, to  support
dynamic discovery (by management stations or proxies) of those supported
by  a given management agent, and whether they are supported for  create
access or only write access.  




Filion, McDonald                                               [Page 31]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998



9.3.1.3.  jamGeneralCreateSupport

This object specifies JAM MIB 'read-create' object groups as a bit-mask,
to  support  dynamic  discovery (by management stations or  proxies)  of
those supported by a given management agent.  


9.3.1.4.  jamGeneralUpdateSupport

This  object specifies JAM MIB 'read-write' object groups as a bit-mask,
to  support  dynamic  discovery (by management stations or  proxies)  of
those supported by a given management agent.  


9.3.1.5.  jamGeneralRowPersistenceSupport

This  object specifies the canonical levels of row persistence (from the
'StorageType'  textual convention in RFC 1903) as a bit-mask, to support
dynamic discovery (by management stations or proxies) of those supported
by a given management agent.  


9.3.1.6.  jamGeneralSNMPTransportSupport

This  object  specifies  the various SNMP transport  domains  (from  the
transport  mappings  in  RFC  1906) as a bit-mask,  to  support  dynamic
discovery  (by  management stations or proxies) of those supported by  a
given management agent.  


9.3.1.7.  jamGeneralSNMPVersionSupport

This  object  specifies  the various SNMP protocol  versions  (from  the
transport  mappings  in  RFC  1906) as a bit-mask,  to  support  dynamic
discovery  (by  management stations or proxies) of those supported by  a
given management agent.  


9.3.1.8.  jamGeneralHighestClientIndex

This  object  supports  dynamic  discovery (by  management  stations  or
proxies)   of  the  'next  available'  value  of  'jamClientIndex'  (for
efficient trap registration, without 'jamClientTable' traversal).  


9.3.1.9.  jamGeneralMaximumClientIndex

This  object  supports  dynamic  discovery (by  management  stations  or
proxies)   of  the  'last  available'  value  of  'jamClientIndex'  (for
efficient trap registration, without 'jamClientTable' traversal).  


Filion, McDonald                                               [Page 32]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998



9.3.1.10.  jamGeneralMaximumViewIndex

This  object  supports  dynamic  discovery (by  management  stations  or
proxies)  of the 'last available' value of 'jamViewIndex' (for efficient
trap registration, without 'jamViewTable' traversal).  


9.3.2.  Client Group (Mandatory)



9.3.2.1.  jamClientIndex

This  object  is  specified as a simple integer index (rather  than  the
combination  of SNMP transport domain and SNMP transport address,  which
has been used in some other trap registration methods).  

Note:  The  choice of a simple integer index (permits support of  static
allocation,  without 'createAndGo') is intended to reduce implementation
cost on low-end devices.  


9.3.2.2.  jamClientRowStatus

This  object  manages  the  status of a given row  when  allocated  (ie,
'createAndGo'  to 'active' for dynamic allocation) (or 'notInService' to
'active' for static allocation).  

Note:  The  choice of 'active' and 'notInService' as the only  mandatory
row  status  values (ie, support for static allocation, NOT dynamic)  is
intended to reduce implementation cost on low-end devices.  


9.3.2.3.  jamClientRowPersistence

This object specifies the persistence of a given row when allocated (ie,
'createAndGo'  to 'active' for dynamic allocation) (or 'notInService' to
'active' for static allocation).  

Note:  The choice of 'volatile' as the only mandatory row persistence is
intended to reduce implementation cost on low-end devices.  


9.3.2.4.  jamClientRowActivationTime

This  object specifies the activation time of a given row when allocated
(ie,   'createAndGo'   to   'active'   for   dynamic   allocation)   (or
'notInService' to 'active' for static allocation).  

Note:  The  choice of 'DateAndTime' rather than 'TimeTicks' is  intended
to  support the row persistence levels above 'volatile' (ie, ones  which

Filion, McDonald                                               [Page 33]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998

survive hardware power cycles).  


9.3.2.5.  jamClientRowExpirationTime

This  object specifies the expiration time of a given row when allocated
(or infinite, if the row should never be deleted by the managed device).

Note:  The  choice of 'DateAndTime' rather than 'TimeTicks' is  intended
to  support the row persistence levels above 'volatile' (ie, ones  which
survive hardware power cycles).  


9.3.2.6.  jamClientSNMPTransport



9.3.2.7.  jamClientSNMPAddress



9.3.2.8.  jamClientSNMPVersion



9.3.2.9.  jamClientObjectSubtree



9.3.3.  View Group (Conditionally Mandatory)



9.3.3.1.  jamViewIndex



9.3.3.2.  jamViewRowStatus



9.3.3.3.  jamViewObjectSubtree



9.3.3.4.  jamViewIncluded



9.3.4.  Client Map Group (Conditionally Mandatory)




Filion, McDonald                                               [Page 34]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998



9.3.4.1.  jamClientMapClientSNMPTransport



9.3.4.2.  jamClientMapClientSNMPAddress



9.3.4.3.  jamClientMapClientIndex



9.4.  Conformance Definitions



9.4.1.  Compliance Statements



9.4.1.1.  jamMIBCompliance



9.4.2.  Conformance Groups



9.4.2.1.  jamGeneralGroup



9.4.2.2.  jamClientGroup



9.4.2.3.  jamViewGroup



9.4.2.4.  jamClientMapGroup



Change Log 

4 March 1998 - Rev 0.10 
* Initial version; 
* Corrected all compile errors, per SMICng and Epilogue compilers.  



Filion, McDonald                                               [Page 35]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998
                           TABLE OF CONTENTS                            


1.  Introduction ...............................................       2

2.  The SNMPv2 Network Management Framework ....................       3

  2.1.  SNMP Object Definitions ................................       3

3.  Managed Object Usage - JAM MIB .............................       4

  3.1.  Overview of Object Groups ..............................       4

  3.2.  Relationship to other MIBs .............................       7
    3.2.1.  IETF Historic SNMPv2 Party MIB (RFC 1447) ..........       7
    3.2.2.  IETF Printer MIB (RFC 1759) ........................       7

4.  Managed Object Definitions - JAM MIB .......................       8

  4.1.  Base Arc Definitions ...................................       8

  4.2.  Textual Conventions ....................................       9
    4.2.1.  JamGroupSupportTC ..................................       9
    4.2.2.  JamRowPersistenceTC ................................       9
    4.2.3.  JamSNMPTransportTC .................................      10
    4.2.4.  JamSNMPAddressTC ...................................      11
    4.2.5.  JamSNMPVersionTC ...................................      11

  4.3.  Object Definitions .....................................      12
    4.3.1.  General Group (Mandatory) ..........................      12
    4.3.2.  Client Group (Mandatory) ...........................      16
    4.3.3.  View Group (Conditionally Mandatory) ...............      20
    4.3.4.  Client Map Group (Conditionally Mandatory) .........      22

  4.4.  Conformance Definitions ................................      23
    4.4.1.  Compliance Statements ..............................      23
      4.4.1.1.  jamMIBCompliance ...............................      24
    4.4.2.  Conformance Groups .................................      26
      4.4.2.1.  jamGeneralGroup ................................      26
      4.4.2.2.  jamClientGroup .................................      26
      4.4.2.3.  jamViewGroup ...................................      27
      4.4.2.4.  jamClientMapGroup ..............................      27

5.  Acknowledgements ...........................................      28

6.  References .................................................      28

7.  Security Considerations ....................................      30

8.  Authors' Addresses .........................................      30

9.  Appendix A - Rationale of JAM MIB ..........................      30

  9.1.  Base Arc Definitions ...................................      30

Filion, McDonald                                                [Page i]

Job Async Monitoring MIB V0.10 (work-in-progress)           4 March 1998
                           TABLE OF CONTENTS                            


  9.2.  Textual Conventions ....................................      30
    9.2.1.  JamGroupSupportTC ..................................      30
    9.2.2.  JamRowPersistenceTC ................................      31
    9.2.3.  JamSNMPTransportTC .................................      31
    9.2.4.  JamSNMPAddressTC ...................................      31
    9.2.5.  JamSNMPVersionTC ...................................      31

  9.3.  Object Definitions .....................................      31
    9.3.1.  General Group (Mandatory) ..........................      31
      9.3.1.1.  jamGeneralIndex ................................      31
      9.3.1.2.  jamGeneralGroupSupport .........................      31
      9.3.1.3.  jamGeneralCreateSupport ........................      32
      9.3.1.4.  jamGeneralUpdateSupport ........................      32
      9.3.1.5.  jamGeneralRowPersistenceSupport ................      32
      9.3.1.6.  jamGeneralSNMPTransportSupport .................      32
      9.3.1.7.  jamGeneralSNMPVersionSupport ...................      32
      9.3.1.8.  jamGeneralHighestClientIndex ...................      32
      9.3.1.9.  jamGeneralMaximumClientIndex ...................      32
      9.3.1.10.  jamGeneralMaximumViewIndex ....................      33
    9.3.2.  Client Group (Mandatory) ...........................      33
      9.3.2.1.  jamClientIndex .................................      33
      9.3.2.2.  jamClientRowStatus .............................      33
      9.3.2.3.  jamClientRowPersistence ........................      33
      9.3.2.4.  jamClientRowActivationTime .....................      33
      9.3.2.5.  jamClientRowExpirationTime .....................      34
      9.3.2.6.  jamClientSNMPTransport .........................      34
      9.3.2.7.  jamClientSNMPAddress ...........................      34
      9.3.2.8.  jamClientSNMPVersion ...........................      34
      9.3.2.9.  jamClientObjectSubtree .........................      34
    9.3.3.  View Group (Conditionally Mandatory) ...............      34
      9.3.3.1.  jamViewIndex ...................................      34
      9.3.3.2.  jamViewRowStatus ...............................      34
      9.3.3.3.  jamViewObjectSubtree ...........................      34
      9.3.3.4.  jamViewIncluded ................................      34
    9.3.4.  Client Map Group (Conditionally Mandatory) .........      34
      9.3.4.1.  jamClientMapClientSNMPTransport ................      35
      9.3.4.2.  jamClientMapClientSNMPAddress ..................      35
      9.3.4.3.  jamClientMapClientIndex ........................      35

  9.4.  Conformance Definitions ................................      35
    9.4.1.  Compliance Statements ..............................      35
      9.4.1.1.  jamMIBCompliance ...............................      35
    9.4.2.  Conformance Groups .................................      35
      9.4.2.1.  jamGeneralGroup ................................      35
      9.4.2.2.  jamClientGroup .................................      35
      9.4.2.3.  jamViewGroup ...................................      35
      9.4.2.4.  jamClientMapGroup ..............................      35





Filion, McDonald                                               [Page ii]