PRINTER-PORT-MONITOR-MIB DEFINITIONS ::= BEGIN IMPORTS enterprises, MODULE-IDENTITY, OBJECT-TYPE, Gauge32, Integer32 FROM SNMPv2-SMI -- RFC 2578 TEXTUAL-CONVENTION, DisplayString, TruthValue FROM SNMPv2-TC -- RFC 2579 MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF; -- RFC 2580 ppmMIB MODULE-IDENTITY LAST-UPDATED "0501020000Z" ORGANIZATION "Printer Working Group, a Program of IEEE/ISTO" CONTACT-INFO "Editors: Ron Bergman (Ricoh) Phone: +1-805-578-4421 Email: Ron.Bergman@rpsa.ricoh.com Mike Fenelon (Microsoft) Email: mfenelon@windows.microsoft.com Ira McDonald (High North) Phone: +1-906-494-2434 Email: imcdonald@sharplabs.com Ivan Pavicevic (Microsoft) Email: ivanp@windows.microsoft.com Send comments using the Printer MIB Project (PMP) Mailing List: pmp@pwg.org To subscribe, see the PWG web page: http://www.pwg.org/" DESCRIPTION "The MIB module for printer port monitor support. Copyright (C) IEEE/ISTO PWG (2005)." REVISION "0501020000Z" -- 2 January 2005 (v0.30) DESCRIPTION "Third draft of PWG Printer Port Monitor MIB. - revised DESCRIPTION of several objects, to delete inappropriate use of 'Note:' (for clarity), per comments from Ron Bergman; - revised DESCRIPTION of 'ppmGeneralNaturalLanguage' to specify that default is 'en-US' (US English) and to explain typical uses of language tags, per comments from Ron Bergman; - changed SYNTAX of 'ppmGeneralNumberOfPorts' from 'Counter32' (may only increase) to 'Gauge32' (may decrease if rows in 'ppmPortTable' are removed) and added DEFVAL clause (allowed on 'Gauge32'), per comments from Ron Bergman; - revised DESCRIPTION of 'ppmPortIndex', to explain the DEFVAL clause is omitted per SMIv2 (RFC 2578), per comments from Ron Bergman; - changed SYNTAX of 'ppmPortProtocolType' to simple 'Integer32', to allow zero for 'not specified' and to decouple from IANA-PRINTER-MIB for compilation, per comments from Ron Bergman; - revised DESCRIPTION of 'ppmPortProtocolType' to require use of 'chPort9100' for Raw printing (and prohibit 'chPortTCP(37)' and 'chBidirPortTCP(38)' for Raw printing), to avoid ambiguity, per comments from Mike and Ivan; - revised DESCRIPTION of 'ppmPortLprQueueName', to to specify default queue name of 'LPR', per comments from Ron Bergman;" REVISION "0412100000Z" -- 10 December 2004 (v0.20) DESCRIPTION "Second draft of PWG Printer Port Monitor MIB. - added Ivan to editors (oversight in v0.10), per request of Mike and Ivan; - added IMPORT of 'PrtChannelTypeTC' from IANA-PRINTER-MIB (first published in RFC 3805) and changed SYNTAX of 'ppmPortProtocolType', per request of Ron Bergman; - renamed 'PpmTextStringTC' textual convention to 'PpmLocalizedStringTC' (for clarity); - added 'ppmGeneralNumberOfPorts' to General group, to align with Mike and Ivan's original draft; - revised 'ppmPortProtocolType' to specify the IANA Printer MIB as the authoritative source of values, per request of Ron Bergman; - revised 'ppmPortProtocolPortNumber' to specify that, if zero, then the default port for the current value of 'ppmPortProtocolType' is used, per request of Harry Lewis; - revised 'ppmPortIEEE1284DeviceId' to clarify more format details and restricted characters, per request of Mike and Ivan; - moved 'ppmGeneralCommunityName' and renamed to 'ppmPortSnmpCommunityName' (for clarity), to align with Mike and Ivan's original draft; - renamed 'ppmPortStatusQueryEnabled' to 'ppmPortSnmpStatusQueryEnabled' (for clarity), to align with Mike and Ivan's original draft; - deleted 'ppmPortDescription' (redundant), per request of Mike and Ivan; - deleted 'ppmPortPrtChannelIndex' and 'ppmPortInterfaceIndex' (not necessary), per request of Mike and Ivan." REVISION "0411180000Z" -- 18 November 2004 (v0.10) DESCRIPTION "First draft of PWG Printer Port Monitor MIB. - content from Mike and Ivan's original draft and a few proposed extensions." ::= { enterprises pwg(2699) mibs(1) ppmMIB(2) } ppmMIBObjects OBJECT IDENTIFIER ::= { ppmMIB 1 } ppmMIBNotifications OBJECT IDENTIFIER ::= { ppmMIB 2 } ppmMIBConformance OBJECT IDENTIFIER ::= { ppmMIB 3 } ppmMIBObjectGroups OBJECT IDENTIFIER ::= { ppmMIBConformance 2 } -- -- Textual Conventions -- PpmLocalizedStringTC ::= TEXTUAL-CONVENTION DISPLAY-HINT "255a" STATUS current DESCRIPTION "To facilitate internationalization, this datatype represents information represented in the ISO/IEC IS 10646-1 character set (encoded as an octet string using the UTF-8 (RFC 3629) character encoding scheme) in the natural language currently specified by 'ppmGeneralNaturalLanguage'." REFERENCE "See: 'PrtLocalizedDescriptionStringTC' in RFC 3805." SYNTAX OCTET STRING (SIZE (0..255)) -- -- Object Definitions -- ppmGeneral OBJECT IDENTIFIER ::= { ppmMIBObjects 1 } ppmGeneralNaturalLanguage OBJECT-TYPE SYNTAX DisplayString (SIZE (0..63)) MAX-ACCESS read-only STATUS current DESCRIPTION "The natural language tag (RFC 3066), specified in US-ASCII, for all localized text string objects defined in this MIB (of datatype 'PpmLocalizedStringTC'), or the empty string if not specified. For example, 'zh-Hans-CN' (Simplified Chinese for the PRC). If this object is empty, then the natural language for all localized text string objects in this MIB MUST be 'en-US' (US English). This natural language tag is necessary for support of correct glyph selection for text display, for support of text-to-speech, for support of correct sorting of text values, etc." REFERENCE "See: 'prtGeneralCurrentLocalization' in RFC 1759/3805." DEFVAL { ''H } -- no natural language tag ::= { ppmGeneral 1 } ppmGeneralNumberOfPorts OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of printer ports supported on this network product, i.e., the number of entries in the 'ppmPortTable' below, or zero if no printer ports are currently configured." DEFVAL { 0 } -- no printer ports configured ::= { ppmGeneral 2 } ppmPort OBJECT IDENTIFIER ::= { ppmMIBObjects 2 } ppmPortTable OBJECT-TYPE SYNTAX SEQUENCE OF PpmPortEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table containing basic network printer port information, especially for use by operating systems to facilitate selection and automatic installation of device drivers." ::= { ppmPort 1 } ppmPortEntry OBJECT-TYPE SYNTAX PpmPortEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A entry containing basic network printer port information for one printer port." INDEX { ppmPortIndex } ::= { ppmPortTable 1 } PpmPortEntry ::= SEQUENCE { ppmPortIndex Integer32, ppmPortName PpmLocalizedStringTC, ppmPortProtocolType Integer32, ppmPortProtocolPortNumber Integer32, ppmPortIEEE1284DeviceId DisplayString, ppmPortHrDeviceIndex Integer32, ppmPortSnmpCommunityName DisplayString, ppmPortSnmpStatusQueryEnabled TruthValue, ppmPortLprQueueName DisplayString, ppmPortLprByteCountEnabled TruthValue } ppmPortIndex OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "A locally unique identifier for this network printer port. Per SMIv2 (RFC 2578), the DEFVAL clause is omitted on this 'not-accessible' index object." ::= { ppmPortEntry 1 } ppmPortName OBJECT-TYPE SYNTAX PpmLocalizedStringTC (SIZE (0..127)) MAX-ACCESS read-only STATUS current DESCRIPTION "A user friendly name for this port, in the locale specified by 'ppmGeneralNaturalLanguage'. May be used to facilitate user selection of a port on a multi-port network product. The charset of this text string object is UTF-8 (RFC 3629), in order to support names that cannot be represented in US-ASCII." REFERENCE "See: 'prtGeneralPrinterName' in Printer MIB v2 (RFC 3805)." DEFVAL { ''H } -- port name not specified ::= { ppmPortEntry 2 } ppmPortProtocolType OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The protocol type of this port, a value from 'PrtChannelTypeTC' in the IANA Printer MIB (e.g., 'chLPDServer(8)' for LPR (RFC 1179) or 'chPort9100(11)' for Raw), or zero if not specified. Products that implement Raw printing MUST specify a protocol type of 'chPort9100(11)' and specify an alternate port (if necessary) in 'pppPortProtocolPortNumber'. Products MUST NOT use 'chPortTCP(37)' or 'chBidirPortTCP(38)' for Raw printing, to avoid ambiguity. For products that implement both the IETF Host Resources MIB (RFC 1514/2790) and the IETF Printer MIB (RFC 1759/3805), a port monitor application MAY search 'prtChannelTable' for this value in 'prtChannelType' for more channel information and status." REFERENCE "See: 'PrtChannelTypeTC' in IANA Printer MIB (RFC 3805 and http://www.iana.org/assignments/ianaprinter-mib). See: 'prtChannelType' in IETF Printer MIB RFC 1759/3805." DEFVAL { 0 } -- protocol type not specified ::= { ppmPortEntry 3 } ppmPortProtocolPortNumber OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "The transport protocol (TCP, UDP, etc.) port number for this protocol, e.g., an alternate port from the protocol default, or zero if not specified. If this object is zero, then the actual protocol port number is the default port for the specified 'ppmPortProtocolType' (e.g., 'chPort9100(11)' uses '9100', 'chLPDServer(8)' uses '515')." REFERENCE "See: IETF Line Printer Daemon Protocol (RFC 1179). See: 'tcpConnLocalPort' in MIB-II (RFC 1213). See: 'udpLocalPort' in MIB-II (RFC 1213)." DEFVAL { 0 } -- port number not specified ::= { ppmPortEntry 4 } ppmPortIEEE1284DeviceId OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "The IEEE 1284 device ID for this port, a set of capabilities (keys and values) specified in the US-ASCII charset and the format 'key1: value {, value }; ... keyN: value {,value };', as follows: (a) SPACE (0x20), TAB (0x09), VTAB (0x0B), CR (0x0D), NL (0x0A), and FF (0x0C) are allowed, but ignored when parsing (b) other control characters (less than 0x20) MUST NOT be used (c) COLON (0x3A), COMMA (0x2C), and SEMICOLON (0x3B) are delimiters and MUST NOT be included in any key or value (d) each key MUST be separated from value(s) using COLON (0x3A) (e) multiple values MUST BE separated using COMMA (0x2C) (f) each capability MUST BE delimited using SEMICOLON (0x3B) (g) all ports MUST include the following capabilities - MANUFACTURER (or abbreviation MFG) - MODEL (or abbreviation MDL) (h) all ports MAY include the following capabilities - COMMAND SET (or abbreviation CMD) - COMMENT - ACTIVE COMMAND SET For example (actually all on one line of text): MANUFACTURER:ACME Manufacturing; COMMAND SET:PCL,PJL,PS,XHTML-Print+xml; MODEL:LaserBeam 9; COMMENT:Anything you like; ACTIVE COMMAND SET:PCL; The value of this object MUST exactly match the IEEE 1284-2000 Device ID string, except that the length field MUST NOT be specified. The value MUST be assigned by the Printer vendor and MUST NOT be localized by the Print Service. If this object is empty, then the value of 'ppmPortProtocolType' SHOULD be used to load a generic driver." REFERENCE "See: Section 7.6 of IEEE 1284-2000." DEFVAL { ''H } -- no IEEE 1284 device ID ::= { ppmPortEntry 5 } ppmPortHrDeviceIndex OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The value of 'hrDeviceIndex' in IETF Host Resources MIB (RFC 1514/2790), to be used for status queries for this port if the value of 'ppmPortSnmpStatusQueryEnabled' is 'true'. If this object is zero, then monitoring applications MUST NOT attempt status queries for this port in the IETF Host Resources MIB (RFC 1514/2790) and/or IETF Printer MIB (RFC 1759/3805)." REFERENCE "See: 'hrDeviceStatus', 'hrPrinterStatus', and 'hrPrinterDetectedErrorState' in RFC 1514/2790. See: 'prtChannelStatus' in RFC 1759/3805." DEFVAL { 0 } -- no host device index ::= { ppmPortEntry 6 } ppmPortSnmpCommunityName OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "The SNMP read community name, specified in US-ASCII, for access to the printer status information in IETF MIB-II (RFC 1213), IETF Host Resources MIB (RFC 1514/2790), and IETF Printer MIB (RFC 1759/3805) for this port. If this object is empty, then the SNMP read community name for this port MUST default to 'public'." REFERENCE "See: 'snmpCommunityName' in SNMP Community MIB (RFC 3584)." DEFVAL { ''H } -- no SNMP read community name ::= { ppmPortEntry 7 } ppmPortSnmpStatusQueryEnabled OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "The status query mode for this port, for queries by monitoring applications in IETF Host Resources MIB (RFC 1514/2790) and/or IETF Printer MIB (RFC 1759/3805). If this object is 'false', then monitoring applications MUST NOT attempt status queries for this port in the IETF Host Resources MIB and/or IETF Printer MIB. If this object is 'true', then monitoring applications MAY attempt status queries for this port in the IETF Host Resources MIB and/or IETF Printer MIB." REFERENCE "See: 'hrDeviceStatus', 'hrPrinterStatus', and 'hrPrinterDetectedErrorState' in RFC 1514/2790. See: 'prtChannelStatus' in RFC 1759/3805." DEFVAL { false } -- status monitoring disabled ::= { ppmPortEntry 8 } ppmPortLprQueueName OBJECT-TYPE SYNTAX DisplayString (SIZE (0..255)) MAX-ACCESS read-only STATUS current DESCRIPTION "The LPR queue name for this port, specified in US-ASCII. Ignored if 'ppmPortProtocolType' is not 'chLPDServer(8)'. If 'ppmPortProtocolType' is 'chLPDServer(8)' and this object is empty, then the LPR queue name MUST default to 'LPR'." REFERENCE "See: IETF Line Printer Daemon Protocol (RFC 1179)." DEFVAL { ''H } -- LPR queue name not specified ::= { ppmPortEntry 9 } ppmPortLprByteCountEnabled OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "The current LPR byte counting mode for this port. If this object is 'true', then LPR byte counting is enabled. If this object is 'false', then LPR byte counting is disabled." REFERENCE "See: IETF Line Printer Daemon Protocol (RFC 1179)." DEFVAL { false } -- LPR byte counting disabled ::= { ppmPortEntry 10 } -- -- Conformance -- ppmMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statements for SNMP Agents that implement this Printer Port Monitor MIB." MODULE -- this module MANDATORY-GROUPS { ppmGeneralGroup, ppmPortGroup } ::= { ppmMIBConformance 1 } -- -- Conformance Groups -- ppmGeneralGroup OBJECT-GROUP OBJECTS { ppmGeneralNaturalLanguage, ppmGeneralNumberOfPorts } STATUS current DESCRIPTION "The General object group in the Printer Port Monitor MIB" ::= { ppmMIBObjectGroups 1 } ppmPortGroup OBJECT-GROUP OBJECTS { ppmPortName, ppmPortProtocolType, ppmPortProtocolPortNumber, ppmPortIEEE1284DeviceId, ppmPortHrDeviceIndex, ppmPortSnmpCommunityName, ppmPortSnmpStatusQueryEnabled, ppmPortLprQueueName, ppmPortLprByteCountEnabled } STATUS current DESCRIPTION "The Port object group in the Printer Port Monitor MIB" ::= { ppmMIBObjectGroups 2 } END