Hi, Sunday (17 July 2005)
Based on feedback from the Printer Port Monitor Interop event last week,
below is a brief sketch of a revised PPM MIB with three object groups:
(1) General - scalars - language tag and counters
- add ppmGeneralNumberOfPrinters (entry count for ppmPrinterTable)
- keep ppmGeneralNumberOfPorts (entry count for ppmPortTable)
- remove ppmGeneralPreferredPortIndex (add to ppmPrinterTable)
(2) Printer - table - list of printers on system
- keep Printer-specific elements from previous ppmPortTable
(for ENA or Network Spooler)
- maps one-to-one to Printers in Host Resources MIB and Printer MIB
(via ppmPrinterHrDeviceIndex, if non-zero)
- rename ppmPortSnmpStatusQueryEnabled to ppmPrinterSnmpQueryEnabled
(to stay within 31 characters for portability across compilers)
(3) Port - table - list of logical ports on each printer
- indexed by ppmPrinterIndex and ppmPortIndex
- keeps Port-specific elements from previous ppmPortTable
All tables were reordered to follow Printer MIB and PWG Semantic Model
conventions - state, name, description, type, other stuff - see below.
I plan to post clean ASN.1 for this revision by Monday evening.
Comments?
Cheers,
- Ira
Ira McDonald (Musician / Software Architect)
Blue Roof Music / High North Inc
PO Box 221 Grand Marais, MI 49839
phone: +1-906-494-2434
email: imcdonald at sharplabs.com
------------------------------------------------------------------------
General Group (scalars):
ppmGeneralNaturalLanguage SnmpAdminString,
ppmGeneralNumberOfPrinters Gauge32,
ppmGeneralNumberOfPorts Gauge32
Printer Group (table):
INDEX { ppmPrinterIndex }
PpmPrinterEntry ::= SEQUENCE {
ppmPrinterIndex Integer32,
ppmPrinterEnabled TruthValue,
ppmPrinterName SnmpAdminString,
-- augments implementations of Printer MIB v1
-- maps to prtGeneralPrinterName in Printer MIB v2
ppmPrinterNumberOfPorts Gauge32,
-- number of logical ports for specific printer
ppmPrinterPreferredPortIndex Ingeter32,
-- preferred port for specific printer
ppmPrinterIEEE1284DeviceId OCTET STRING -- 1023 octets
-- must include MANUFACTURER and MODEL in first 255 octets
ppmPrinterHrDeviceIndex Integer32,
-- index for hrDeviceTable and prtGeneralTable (if non-zero)
ppmPrinterSnmpCommunityName OCTET STRING,
ppmPrinterSnmpQueryEnabled TruthValue
}
Port Group (table):
INDEX { ppmPrinterIndex, ppmPortIndex }
PpmPortEntry ::= SEQUENCE {
ppmPortIndex Integer32,
ppmPortEnabled TruthValue,
ppmPortName SnmpAdminString,
ppmPortDescription SnmpAdminString,
ppmPortProtocolType Integer32,
ppmPortProtocolTargetPort Integer32,
ppmPortProtocolAltSourceEnabled TruthValue,
ppmPortServiceNameOrURI SnmpAdminString,
ppmPortPrtChannelIndex Integer32,
ppmPortLprByteCountEnabled TruthValue
}
------------------------------------------------------------------------