Subject: draft-blevin-snmp-audio-jukebox-00.txt

From: [email-masked]
Date: Mon, 1 Apr 2002 15:31:43 -0800 (PST)

INTERNET-DRAFT                                               Bryan Levin
Catagory: Informational                                 The Grateful Net

                                                             Jim Wampler
                                                             kid Systems

                                                            1 April 2002

                     Audio Jukebox Control via SNMP

                <draft-blevin-snmp-audio-jukebox-00.txt>

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: [email-masked]"

       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:      [email-masked]

   Jim Wampler
   kid Systems
   EMail:      [email-masked]

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]

---

From: Harald Alvestrand <[email-masked]>
Date: Tue, 09 Apr 2002 08:48:33 +0200

>            "The artist name, in ASCII."

sigh.
even on April 1, I have to step up and defend my son's ability to become an 
internationally playable artist......

My son's name is Torbjørn.

(otherwise fun draft, BTW - almost workable!)

                 harald