INTERNET-DRAFT Bryan Levin Catagory: Informational The Grateful Net Jim Wampler kid Systems 1 April 2002 Audio Jukebox Control via SNMP Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html Copyright Notice Copyright (C) The Internet Society (2002). All Rights Reserved. Abstract This document describes a set of extensions (protocol operations and textual conventions) to the existing SNMP framework architecture [RFC2571]. These extensions provide a mechanism for remote control of an audio jukebox-style device via the SNMP protocol. TheGratefulNet Expires October 2002 [Page 1] Internet Draft Audio Jukebox Control via SNMP 1 April 2002 Table of Contents 1. The SNMP Network Management Framework ....................... 3 2. Overview .................................................... 4 2.1. Terms ..................................................... 4 2.2. Motivations for the Extensions ............................ 4 3. The Extensions .............................................. 4 4. Elements of Procedure ....................................... 4 4.1. Check the Agent for Hardware Playback Capabilities ........ 4 4.2. Request Songs to be Played (the auReq table) .............. 4 4.3. Monitor/Control the Active Playlist (the auQueue table) ... 5 5. Coexistence and Transition .................................. 5 6. Managed Object Definitions .................................. 5 7. Intellectual Property ....................................... 15 8. Acknowledgements ............................................ 16 9. Security Considerations ..................................... 16 10. Warranty ................................................... 16 11. References ................................................. 16 12. Editor's Addresses ......................................... 18 A. Impact to SNMP and other Protocols .......................... 19 A.1. SNMPv3 .................................................... 19 B. Full Copyright Statement .................................... 19 TheGratefulNet Expires October 2002 [Page 2] Internet Draft Audio Jukebox Control via SNMP 1 April 2002 1. The SNMP Network Management Framework The SNMP Management Framework presently consists of five major components: - An overall architecture, described in RFC 2571 [RFC2571]. - Mechanisms for describing and naming objects and events for the purpose of management. The first version of this Structure of Management Information (SMI) is called SMIv1 and described in RFC 1155 [RFC1155], RFC 1212 [RFC1212] and RFC 1215 [RFC1215]. The second version, called SMIv2, is described in RFC 2578 [RFC2578], RFC 2579 [RFC2579] and RFC 2580 [RFC2580]. - Message protocols for transferring management information. The first version of the SNMP message protocol is called SNMPv1 and described in RFC 1157 [RFC1157]. A second version of the SNMP message protocol, which is not an Internet standards track protocol, is called SNMPv2c and described in RFC 1901 [RFC1901] and RFC 1906 [RFC1906]. The third version of the message protocol is called SNMPv3 and described in RFC 1906 [RFC1906], RFC 2572 [RFC2572] and RFC 2574 [RFC2574]. - Protocol operations for accessing management information. The first set of protocol operations and associated PDU formats is described in RFC 1157 [RFC1157]. A second set of protocol operations and associated PDU formats is described in RFC 1905 [RFC1905]. - A set of fundamental applications described in RFC 2573 [RFC2573] and the view-based access control mechanism described in RFC 2575 [RFC2575]. A more detailed introduction to the current SNMP Management Framework can be found in RFC 2570 [RFC2570]. Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. Objects in the MIB are defined using the mechanisms defined in the SMI. This memo specifies a MIB module that is compliant to the SMIv2. A MIB conforming to the SMIv1 can be produced through the appropriate translations. The resulting translated MIB must be semantically equivalent, except where objects or events are omitted because no translation is possible (use of Counter64). Some machine readable information in SMIv2 will be converted into textual descriptions in SMIv1 during the translation process. However, this loss of machine TheGratefulNet Expires October 2002 [Page 3] Internet Draft Audio Jukebox Control via SNMP 1 April 2002 readable information is not considered to change the semantics of the MIB. 2. Overview This document describes a set of SNMP extensions to current protocol operations [RFC1905] to provide for remote control/playback of audio jukebox-style devices via SNMP. 2.1. Terms The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. 2.2. Motivations for the Extensions No audio playback device is complete without remote control ability. And what better management protocol is there than SNMP? 3. The Extensions The extension consists of a mib document together with a description of how it can be incorporated into an existing SNMP Agent in order to achieve the desired remote jukebox playback control. 4. Elements of Procedure 4.1. Check the Agent for Hardware Playback Capabilities An SNMP Get to the auHwCapabilities should be done first in order to come to an understanding of what level of audio control hardware support exists for the remote jukebox. 4.2. Request Songs to be Played (the auReq table) To request that a song be played at the jukebox, a request entry must be written to (created in) the auReq table. Rows in this table refer to existing entries in the master music file database table (auDbTable) via the index variable auReqSongId. Upon successful TheGratefulNet Expires October 2002 [Page 4] Internet Draft Audio Jukebox Control via SNMP 1 April 2002 row-creates in this table, resultant entries are written to the auQueue and the entry in the auReq is auto-deleted by the local agent. 4.3. Monitor/Control the Active Playlist (the auQueue table) Perform an SNMP Get or Set to an auQueueEntry via its RowStatus variable, auQueueEntryStatus, to monitor or control individual songs in the active playlist. 5. Coexistence and Transition Since this extension doesn't directly impact existing SNMP Protocol operations, coexistence and transition issues are minimized. If an NMS attempts to use this extension and an agent supports it, life is good. Otherwise, the user will be forced to listen to what was requested by some other SNMP-empowered user. 6. Managed Object Definitions AUDIO-PLAYBACK-CONTROL-MIB DEFINITIONS ::= BEGIN IMPORTS OBJECT-TYPE, MODULE-IDENTITY, enterprises, Unsigned32, Integer32, BITS FROM SNMPv2-SMI RowStatus, DisplayString, DateAndTime FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF; -- gratefulNet OBJECT IDENTIFIER ::= { enterprises 4648 } audioPlaybackMIB MODULE-IDENTITY LAST-UPDATED "200204010000Z" -- April 1, 2002 ORGANIZATION "The Grateful Net" CONTACT-INFO "Bryan Levin E-mail: snmp1@grateful.net" DESCRIPTION "The MIB module is for defining remote audio playback (mp3, etc) from an SNMP-enabled audio jukebox device." ::= { enterprises gratefulNet(4648) 128 } TheGratefulNet Expires October 2002 [Page 5] Internet Draft Audio Jukebox Control via SNMP 1 April 2002 -- playback capabilities (read-only) auPlaybackCapabilities OBJECT IDENTIFIER ::= { audioPlaybackMIB 1 } -- global control variables (read-write) auPlaybackScalars OBJECT IDENTIFIER ::= { audioPlaybackMIB 2 } -- all tables (read-only and read-create) auPlaybackTables OBJECT IDENTIFIER ::= { audioPlaybackMIB 3 } -- Agent Capabilities (read-only scalars) -- These are useful in determining the abilities of the audio -- jukebox's remote management interface. auHwCapabilities OBJECT-TYPE SYNTAX BITS { volume(0), bass(1), treble(2), balance(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "The hardware capabilities, expressed as a bitstring. It is advisable that the NMS check this variable before blindly setting values to the auHwCtl scalars, as not all may be fully implemented at the playback/jukebox device." ::= { auPlaybackCapabilities 1 } -- -- Global Control Scalars (read-write) -- These are useful in controlling the final output signal -- characteristics, whether the output is in digital or analog -- form. auHwCtlVolume OBJECT-TYPE SYNTAX Unsigned32 (0..100) MAX-ACCESS read-write STATUS current DESCRIPTION "The playback volume, measured in percent of fullscale. TheGratefulNet Expires October 2002 [Page 6] Internet Draft Audio Jukebox Control via SNMP 1 April 2002 Setting to 100 will cause the output stage to run at full gain level. Setting to zero will fully mute the output stage (no sound output at all)." ::= { auPlaybackScalars 1 } auHwCtlBass OBJECT-TYPE SYNTAX Integer32 (-100..100) MAX-ACCESS read-write STATUS current DESCRIPTION "The playback Bass, measured in percent of fullscale. Setting negative values attenuates the tone (negative gain) while setting positive values increases the tone (positive gain). The value of zero yields 'flat' or no tonal correction." ::= { auPlaybackScalars 2 } auHwCtlTreble OBJECT-TYPE SYNTAX Integer32 (-100..100) MAX-ACCESS read-write STATUS current DESCRIPTION "The playback Treble, measured in percent of fullscale. Setting negative values attenuates the tone (negative gain) while setting positive values increases the tone (positive gain). The value of zero yields 'flat' or no tonal correction." ::= { auPlaybackScalars 3 } auHwCtlBalance OBJECT-TYPE SYNTAX Integer32 (-100..100) MAX-ACCESS read-write STATUS current DESCRIPTION "The playback left/right balance, measured in percent of fullscale. Setting negative values attenuates the right channel while at the same time increasing gain on the left channel. Setting the value to -100 or +100 will cause one channel to play at full volume and the other channel be set to full attenuation (ie, no volume). Setting the value of zero yields 'center' balance, or both channels driven to equal output levels." ::= { auPlaybackScalars 4 } -- Available (Stored) Music Database Table -- This table is maintained locally as a direct result of the local TheGratefulNet Expires October 2002 [Page 7] Internet Draft Audio Jukebox Control via SNMP 1 April 2002 -- database maintainer adding, removing or changing songs in -- his/her music catalog. SNMP Access to this table is entirely -- read-only. auDbTable OBJECT-TYPE SYNTAX SEQUENCE OF AuDbEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists all available audio files that are candidates for playback via remote SNMP control." ::= { auPlaybackTables 1 } auDbEntry OBJECT-TYPE SYNTAX AuDbEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The music database table entry." INDEX { auDbIndex } ::= { auDbTable 1 } AuDbEntry ::= SEQUENCE { auDbIndex Unsigned32, auDbArtistName DisplayString, auDbAlbumId DisplayString, auDbAlbumTitle DisplayString, auDbSongTitle DisplayString, auDbAlbumSongNumber Unsigned32, auDbGenre DisplayString, auDbYear DateAndTime, auDbSongEncBitRate Unsigned32, auDbSongEncoding INTEGER, auDbSongPlayLength Unsigned32 } auDbIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An integer to uniquely identify the song entry that is to be transferred to the active play list queue (auReqTable)." ::= { auDbEntry 1 } auDbArtistName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only TheGratefulNet Expires October 2002 [Page 8] Internet Draft Audio Jukebox Control via SNMP 1 April 2002 STATUS current DESCRIPTION "The artist name, in ASCII." ::= { auDbEntry 2 } auDbAlbumId OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The globally unique album id, following the CDDB standard. This value is represented as an ASCII string of hexadecimal characters for simplicity." ::= { auDbEntry 3 } auDbAlbumTitle OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The album name, in ASCII." ::= { auDbEntry 4 } auDbSongTitle OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The song title, in ASCII." ::= { auDbEntry 5 } auDbAlbumSongNumber OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The relative song number within an album. The first song in an album is defined to be at offset 1 (ie, this is a 1-based variable; the value of zero is undefined)." ::= { auDbEntry 6 } auDbGenre OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The genre, in ASCII." ::= { auDbEntry 7 } TheGratefulNet Expires October 2002 [Page 9] Internet Draft Audio Jukebox Control via SNMP 1 April 2002 auDbYear OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "The year the song was published." ::= { auDbEntry 8 } auDbSongEncoding OBJECT-TYPE SYNTAX INTEGER { wave(1), shorten(2), mp3vbr(3), mp3cbr(4) } MAX-ACCESS read-only STATUS current DESCRIPTION "An enum value that maps to a standard file encoding, as used to initially create the audio file." ::= { auDbEntry 9 } auDbSongEncBitRate OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "If audio file is compressed, return the effective bit-rate as an unsigned integer (eg, 128, 160, 192, 256, 320, etc). If audio is not compressed, the value 0 should be returned." ::= { auDbEntry 10 } auDbSongPlayLength OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The realtime length of the song, measured in seconds." ::= { auDbEntry 11 } -- Audio Request Table -- This table accepts remote SNMP SET requests. Entries in this -- table are created from remote users who wish to request that TheGratefulNet Expires October 2002 [Page 10] Internet Draft Audio Jukebox Control via SNMP 1 April 2002 -- a song in the available (stored) music database be queued up -- for playback. auReqTable OBJECT-TYPE SYNTAX SEQUENCE OF AuReqEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains entries created via remote NMSs on behalf of users wishing for specific songs to be entered into the central playback queue." ::= { auPlaybackTables 2 } auReqEntry OBJECT-TYPE SYNTAX AuReqEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The audio request entry." INDEX { auReqIndex } ::= { auReqTable 1 } AuReqEntry ::= SEQUENCE { auReqIndex Unsigned32, auReqSongId Unsigned32, auReqEntryStatus RowStatus } auReqIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An arbitrary integer to uniquely identify this entry. To create an entry a management application should pick a random number." ::= { auReqEntry 1 } auReqSongId OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS read-create STATUS current DESCRIPTION "This refers to a valid song-id from the table of available songs, auMusicDbTable." ::= { auReqEntry 2 } auReqEntryStatus OBJECT-TYPE TheGratefulNet Expires October 2002 [Page 11] Internet Draft Audio Jukebox Control via SNMP 1 April 2002 SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The control variable that allows creation, modification, and deletion of entries in this table. The only valid value for this variable is createAndGo. Upon successful row creation in this table, a new row in the auQueue table will be auto-created; which represents an actual to-do playback item in a time-ordered (FIFO) queue. Rows in this table are always auto-deleted by the agent immediately after a successful row-create in the auQueue table." ::= { auReqEntry 3 } -- Playback Queue Table -- This table accepts remote SNMP SET requests. Entries in this -- table are created as a direct result of table row-creates -- in the auReq table. auQueueTable OBJECT-TYPE SYNTAX SEQUENCE OF AuQueueEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains entries created via the local agent as a direct result of rows created in the auReq table. There will be one entry in this table for each pending song playback request." ::= { auPlaybackTables 3 } auQueueEntry OBJECT-TYPE SYNTAX AuQueueEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The queued song entry." INDEX { auQueueIndex } ::= { auQueueTable 1 } AuQueueEntry ::= SEQUENCE { auQueueIndex Unsigned32, auQueueSongId Unsigned32, TheGratefulNet Expires October 2002 [Page 12] Internet Draft Audio Jukebox Control via SNMP 1 April 2002 auQueueEntryStatus RowStatus } auQueueIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An arbitrary integer to uniquely identify this entry. Entries in this table are auto-created by the local agent. The current song is the lowest numbered instance. Upon completion of playback of the current song, its row is auto-deleted by the local agent and the song with next lexi-ordered instance begins playback. When the maximum instance-id is reached, the instance will wrap back to the first valid id, which is defined to be 1." ::= { auQueueEntry 1 } auQueueSongId OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS read-create STATUS current DESCRIPTION "This refers to a valid song-id from the table of available songs, auMusicDbTable." ::= { auQueueEntry 2 } auQueueEntryStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The control variable that allows creation, modification, and deletion of entries in this table. This table represents the to-do list of songs waiting to be played. Deleting rows in this table cause playback of the corresponding song to be aborted and the next one in the table to be started." ::= { auQueueEntry 3 } -- -- Conformance -- TheGratefulNet Expires October 2002 [Page 13] Internet Draft Audio Jukebox Control via SNMP 1 April 2002 auPlaybackMIBConformance OBJECT IDENTIFIER ::= { audioPlaybackMIB 4 } auPlaybackMIBCompliances OBJECT IDENTIFIER ::= { auPlaybackMIBConformance 1 } auPlaybackMIBGroups OBJECT IDENTIFIER ::= { auPlaybackMIBConformance 2 } -- -- Compliance -- auPlaybackMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for entities which implement the Audio Playback Control MIB. Implementation of this MIB is based on having too much spare time on your hands." MODULE -- this module MANDATORY-GROUPS { auHwCtlGroup, auPlaybackDbGroup, auPlaybackRequestGroup, auQueueGroup } ::= { auPlaybackMIBCompliances 1 } -- -- Units of Conformance -- auHwCtlGroup OBJECT-GROUP OBJECTS { auHwCapabilities, auHwCtlVolume, auHwCtlBass, auHwCtlTreble, auHwCtlBalance } STATUS current DESCRIPTION "Audio Hardware management." ::= { auPlaybackMIBGroups 1 } auPlaybackDbGroup OBJECT-GROUP TheGratefulNet Expires October 2002 [Page 14] Internet Draft Audio Jukebox Control via SNMP 1 April 2002 OBJECTS { auDbArtistName, auDbAlbumId, auDbAlbumTitle, auDbSongTitle, auDbAlbumSongNumber, auDbGenre, auDbYear, auDbSongEncBitRate, auDbSongEncoding, auDbSongPlayLength } STATUS current DESCRIPTION "Audio Library management." ::= { auPlaybackMIBGroups 2 } auPlaybackRequestGroup OBJECT-GROUP OBJECTS { auReqSongId, auReqEntryStatus } STATUS current DESCRIPTION "Audio file entry to be added to playback queue." ::= { auPlaybackMIBGroups 3 } auQueueGroup OBJECT-GROUP OBJECTS { auQueueSongId, auQueueEntryStatus } STATUS current DESCRIPTION "Audio file entry currently in the to-do (play) list." ::= { auPlaybackMIBGroups 4 } END 7. Intellectual Property The IETF takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it TheGratefulNet Expires October 2002 [Page 15] Internet Draft Audio Jukebox Control via SNMP 1 April 2002 has made any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards-related documentation can be found in BCP-11. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification can be obtained from the IETF Secretariat. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to practice this standard. Please address the information to the IETF Executive Director. 8. Acknowledgements This document is the result of spending time listening to MP3's concurrently while doing SNMP MIB development. The two disciplines combine in an absurd way; yet there may just be someone crazy enough to want to implement this... 9. Security Considerations It is beyond the scope of this document to prescribe how to secure your music database or its management interface. If the RIAA comes after you for any reason, you agree to hold the authors harmless. 10. Warranty No warranty is provided. If the implementation of this MIB attempts to format your hard drive, drink all your beer or sleep with your girlfriend, its Not Our Fault. If the implementation breaks, you get to keep both pieces. 11. References [RFC1155] Rose, M. and K. McCloghrie, "Structure and Identification of Management Information for TCP/IP- based internets", STD 16, RFC 1155, May 1990. [RFC1157] Case, J., M. Fedor, M. Schoffstall and J. Davin, "The Simple Network Management Protocol", STD 15, RFC 1157, May 1990. [RFC1212] Rose, M. and K. McCloghrie, "Concise MIB Definitions", TheGratefulNet Expires October 2002 [Page 16] Internet Draft Audio Jukebox Control via SNMP 1 April 2002 STD 16, RFC 1212, March 1991. [RFC2571] Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture for Describing SNMP Management Frameworks", RFC 2571, April 1999. [RFC2578] McCloghrie, K., Perkins, D. and J. Schoenwaelder, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. [RFC2579] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999. [RFC2580] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999. TheGratefulNet Expires October 2002 [Page 17] Internet Draft Audio Jukebox Control via SNMP 1 April 2002 12. Editor's Addresses Bryan Levin The Grateful Net PO BOX 4342 Mountain View, CA 94040 EMail: snmp1@grateful.net Jim Wampler kid Systems EMail: jwampler@employees.org TheGratefulNet Expires October 2002 [Page 18] Internet Draft Audio Jukebox Control via SNMP 1 April 2002 APPENDIXES A. Impact to SNMP and other Protocols A.1. SNMPv3 The use or non-use of SNMPv3 is beyond the scope of this mib document. The wise implementer will employ adequate methods of security to control which remote SNMP users can control the playback of audio files on the central jukebox device. B. Full Copyright Statement Copyright (C) The Internet Society (2002). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Acknowledgement Funding for the RFC Editor function is currently provided by the Internet Society. TheGratefulNet Expires October 2002 [Page 19]