Internet Draft                                                J. Quittek
Document: draft-ietf-rohc-mib-rtp-04.txt                  H. Hartenstein
Expires: May 2003                                         M. Stiemerling
                                                         NEC Europe Ltd.
                                                           November 2002


      Definitions of Managed Objects for Robus Header Compression

                    <draft-ietf-rohc-mib-rtp-04.txt>

Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC 2026.  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

   Distribution of this document is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (2002).  All Rights Reserved.


Abstract

   This memo defines a portion of the Management Information Base (MIB)
   for use with network management protocols in the Internet community.
   In particular, it describes a set of managed objects that allow
   monitoring of running instances of robust header compression.  The
   managed objects defined in this memo are grouped into three MIB
   modules.  The ROHC-MIB module defines managed objects shared by all
   ROHC profiles, the ROHC-UNCOMPRESSED-MIB module defines managed
   objects specific to the ROHC uncompressed profile, the ROHC-RTP-MIB
   module defines managed objects specific to the ROHC RTP profile, the
   ROHC UDP profile, and the ROHC ESP profile.



Quittek, Hartenstein, Stiemerling                               [Page 1]


Internet-Draft                  ROHC MIB                   November 2002


Table of Contents

   1 Introduction .................................................    2
   2 The SNMP Management Framework ................................    2
   3 Overview .....................................................    3
   4 Structure of the MIB modules .................................    4
   4.1 The ROHC-MIB module ........................................    5
   4.1.1 rohcInstanceTable ........................................    5
   4.1.2 rohcChannelTable .........................................    6
   4.1.3 rohcProfileTable .........................................    6
   4.1.4 rohcContextTable .........................................    7
   4.2 The ROHC-UNCOMPRESSED-MIB module ...........................    8
   4.2.1 rohcUncmprContextTable ...................................    8
   4.3 The ROHC-RTP-MIB module ....................................    8
   4.3.1 rohcRtpContextTable ......................................    8
   4.3.2 rohcPacketSizeTable ......................................    8
   5 Definitions ..................................................    9
   6 Security Considerations ......................................   37
   7 Acknowledgements .............................................   37
   8 Normative References .........................................   37
   9 Informative References .......................................   38
   10 Authors' Addresses ..........................................   39
   11 Full Copyright Statement ....................................   40


1.  Introduction

   This memo defines a portion of the Management Information Base (MIB)
   for use with network management protocols in the Internet community.
   In particular, it describes a set of managed objects that allow
   monitoring of running instances of robust header compression.

   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 RFC 2119 [RFC2119].


2.  The SNMP Management Framework

   The SNMP Management Framework presently consists of five major
   components:

    o   An overall architecture, described in RFC 2571 [RFC2571].

    o   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
        STD 16, RFC 1155 [RFC1155], STD 16, RFC 1212 [RFC1212] and RFC
        1215 [RFC1215].  The second version, called SMIv2, is described
        in STD 58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and


Quittek, Hartenstein, Stiemerling                               [Page 2]


Internet-Draft                  ROHC MIB                   November 2002


        STD 58, RFC 2580 [RFC2580].

    o   Message protocols for transferring management information.  The
        first version of the SNMP message protocol is called SNMPv1 and
        described in STD 15, 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].

    o   Protocol operations for accessing management information.  The
        first set of protocol operations and associated PDU formats is
        described in STD 15, RFC 1157 [RFC1157].  A second set of
        protocol operations and associated PDU formats is described in
        RFC 1905 [RFC1905].

    o   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 MIB modules that are 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
   readable information is not considered to change the semantics of the
   MIB.


3.  Overview

   This section describes the basic model of RObust Header Compression
   (ROHC, [RFC3095]) used when developing the MIB modules for ROHC
   described in the following sections.

   ROHC presents a framework for IP header compression that allows
   flexible adjustment of compression efficiency versus robustness
   against channel errors depending on the underlying channel
   characteristics.



Quittek, Hartenstein, Stiemerling                               [Page 3]


Internet-Draft                  ROHC MIB                   November 2002


   ROHC introduces header compressors/decompressors at the end-points
   (interfaces) of (wireless) channels on which packets with compressed
   headers are transferred.  ROHC exploits the temporal redundancy in
   successive packet headers of a packet flow by storing non-changing
   fields of the headers as well as reference values of predictably
   changing fields as context information.  When the context information
   for a packet flow is also established at the decompressor, only
   delta-information and unpredictably changing header fields have to be
   sent over the channel.

   This document specifies MIB modules in order to provide means for
   managing ROHC implementations via SNMP and within the IETF management
   framework.  The objects defined support configuration management,
   fault management and performance monitoring.

   For configuration management implementation parameters (Section 6.3.
   of RFC 3095) and configuration parameters (including the ones
   specified in 5.1.1 of RFC 3095) can be verified by using the ROHC
   MIB.

   For fault management compressor/decompressor state and mode can be
   checked and the compressor context can be reinitialized.

   For performance management a set of statistics is provided including
   the number of flows that have used ROHC, the current and long term
   compression ratio, the number of reinitializations and the number of
   packets sent or received with different header types.


4.  Structure of the MIB modules

   This section presents the structure of the MIB modules that are
   specified in Section 6.  Basically, the MIB is structured according
   to the ROHC architecture described in [ROHCARC].

   ROHC is an evolving technology.  RFC 3095 specifies the header
   compression framework and four profiles (uncompressed, RTP, UDP,
   ESP).  A profile for compression of TCP flows is under development
   within the ROHC working group and SCTP compression is being discussed
   as potential next candidate.  Therefore, the managed objects defined
   below are structured into three MIB modules: the general ROHC-MIB
   module and the profile-specific ROHC-UNCOMPRESSED-MIB and ROHC-RTP-
   MIB modules.

   The ROHC-MIB module defines properties of information on ROHC
   instances, ROHC channels, ROHC profiles, and ROHC compressor and
   decompressor contexts.  All managed objects in this module are
   assumed to be shared by all profiles.

   The ROHC-UNCOMPRESSED-MIB module extends the ROHC-MIB by managed


Quittek, Hartenstein, Stiemerling                               [Page 4]


Internet-Draft                  ROHC MIB                   November 2002


   objects that are specific to the ROHC uncompressed profile (0x0000)
   defined in RFC 3095.  The ROHC-RTP-MIB module extends the ROHC-MIB by
   managed objects that are specific to the three other profiles defined
   in RFC 3095: ROHC RTP (profile 0x0001), ROHC UDP (profile 0x0002),
   and ROHC ESP (profile 0x0003).

   The number of managed objects in these two MIB modules is rather
   small.  They contain context state and context mode, and profile-
   specific context statistics.  It is assumed that MIB modules for
   future profiles will be similarly small and easy to design.

4.1.  The ROHC-MIB module

   The ROHC-MIB module defines managed objects that are expected to be
   useful for all current and future ROHC profiles. Objects in the ROHC-
   MIB module are arranged into four tables: the rohcInstanceTable, the
   rohcChannelTable, the rohcProfileTable, and the rohcContextTable.
   The managed objects in the first three groups are rather static
   (except for provided statistics), while the objects in the
   rohcContextTable are more dynamic.

   All tables are indexed by the IP interface number and by a numeric
   channel identifier.  The channel identifier is used for channels to
   which compressors and decompressors are attached (called ROHC
   channels in [ROHCARC]), as well as for dedicated feedback channels
   (called ROHC feedback channels in [ROHCARC]).  Compressor and
   decompressor instances are further indexed by their type (either
   compressor or decompressor). Contexts are indexed by the same index
   as their corresponding instance and their individual CID.

4.1.1.  rohcInstanceTable

   The rohcInstanceTable defines properties of ROHC compressor instances
   and ROHC decompressor instances.  The set of properties include

    o   the vendor of the implementation, version number and
        description,

    o   the channels used for compressed packets and for feedback,

    o   implementation and configuration properties including clock
        resolution, maximum context identifier number (MAX_CID), the
        LARGE_CIDS flag, and the Maximum Reconstructed Reception Unit
        (MRRU),

    o   the storagetime for contexts created by this instance,

    o   the status of the instance (operational or not).

   Optionally, the rohcInstanceTable also contains instance statistics


Quittek, Hartenstein, Stiemerling                               [Page 5]


Internet-Draft                  ROHC MIB                   November 2002


   including

    o   the total number of compressed flows,

    o   the current number of compressed flows,

    o   the total number of packets passing this instance, and

    o   the total compression ratio achieved on the channel.

   Instances are listed per IP interface.

4.1.2.  rohcChannelTable

   The rohcChannelTable lists all channels used by ROHC instances for
   transferring compressed packets and/or for giving feedback from the
   decompressor to the compressor.  Again the channels are listed per IP
   interface.

   rohcInstanceTable and rohcChannelTable share the same index.  For
   both, the channel identifier is used.  For all ROHC channels used by
   ROHC instances for transferring compressed packets, there is a
   corresponding entry in the instance table with the same index.  For
   dedicated feedback channels no such entry exists.  Anyway, by using
   the same index, it is always possible to directly identify and access
   the corresponding channel for an instance and to directly identify
   and access the corresponding instance from a ROHC channel.

   The information per channel in the rohcChannelTable includes

    o   the channel ID,

    o   the channel type, either 'notIn&Use', 'rohc', or
        'dedicatedFeedback',

    o   the channel for which feedback is provided by this channel,

    o   a string for describing the channel, and

    o   the status of the channel being either 'enabled' or 'disabled'.

4.1.3.  rohcProfileTable

   The rohcProfileTable lists available profiles per instance including
   information on

    o   the profile number,

    o   the vendor and version number, and



Quittek, Hartenstein, Stiemerling                               [Page 6]


Internet-Draft                  ROHC MIB                   November 2002


    o   a string describing the profile.

4.1.4.  rohcContextTable

   The rohcContextTable lists compressor contexts or decompressor
   contexts per instance and context identifier (CID).  Each row of this
   table represents a context.  If a new context is created, also a new
   row in this table is created.  After expiration or termination of a
   context, the row will continue to exist until the context's storage
   time expires or until the CID is re-used. Then the row will be
   deleted.

   For each context, the following attribute are listed:

    o   the type of context ('compressor' or 'decompressor'), also used
        as part of the table index,

    o   the CID,

    o   the state of the CID ('unused', 'active', 'expired', or

    o   the used profile,

    o   in case of a decompressor: the decompressor depth, and

    o   the storage time.

   Optionally, context statistics is provided including

    o   activation and deactivation time of the context,

    o   the number of packets sent or received, respectively,

    o   the numbers of IRs and IR-DYNs sent or received, respectively,

    o   the number of feedbacks sent or received, respectively,

    o   in case of a decompressor conrtext: the numbers of decompressor
        failures and repairs,

    o   the total compression ratio of all packets passing this context,

    o   the total compression ratio of all packet headers compressed in
        this context,

    o   the mean packets size of all packets passing this context,

    o   the mean header size of all compressed headers in this context,




Quittek, Hartenstein, Stiemerling                               [Page 7]


Internet-Draft                  ROHC MIB                   November 2002


    o   the compression ratio of the last 16 packets passing this
        context,

    o   the compression ratio of the last 16 packet headers compressed
        in this context,

    o   the mean packets size of the last 16 packets passing this
        context,

    o   the mean header size of the last 16 compressed headers in this
        context.

4.2.  The ROHC-UNCOMPRESSED-MIB module

   The ROHC-UNCOMPRESSED-MIB module defines managed objects that are
   specific to ROHC uncompressed profile (0x0000) specified in RFC 3095.

4.2.1.  rohcUncmprContextTable

   The rohcUncmprContextTable extends the rohcContextTable. It provides
   information on state and mode of the compressor for profile 0x0000.
   Optionally, it also provides a counter of ACK feedbacks sent or
   received by the context, respectively.

4.3.  The ROHC-RTP-MIB module

   The ROHC-RTP-MIB module defines managed objects that are specific to
   three profiles specified in RFC 3095: ROHC RTP (profile 0x0001), ROHC
   UDP (profile 0x0002), and ROHC ESP (profile 0x0003).  The ROHC-RTP-
   MIB contains two tables, the rohcRtpContextTable and the
   rohcRtpPacketSizeTable.

4.3.1.  rohcRtpContextTable

   The rohcRtpContextTable extends the rohcContextTable. It provides
   information on context state and context mode for profiles 0x0001 -
   0x0003.  For compressor contexts it optionally contains managed
   object containing the numbers of allowed and used packet sizes.  As
   futher option, counters of the numbers of ACKs, NACKs, and SNACKs in
   this context are specified.

4.3.2.  rohcPacketSizeTable

   The optional rohcPacketSizeTable lists allowed packet sizes per
   compressor context.  Used packet sizes are marked.







Quittek, Hartenstein, Stiemerling                               [Page 8]


Internet-Draft                  ROHC MIB                   November 2002


5.  Definitions

   ROHC-MIB DEFINITIONS ::= BEGIN

   IMPORTS
       MODULE-IDENTITY, OBJECT-TYPE, Integer32, mib-2
           FROM SNMPv2-SMI

       TEXTUAL-CONVENTION, TruthValue, TimeInterval, DateAndTime
           FROM SNMPv2-TC

       MODULE-COMPLIANCE, OBJECT-GROUP
           FROM SNMPv2-CONF

       SnmpAdminString
           FROM SNMP-FRAMEWORK-MIB

       ifIndex
           FROM IF-MIB;

   rohcMIB MODULE-IDENTITY
       LAST-UPDATED "200209251358Z"
       ORGANIZATION "IETF Robust Header Compression Working Group"
       CONTACT-INFO
           "Juergen Quittek
            NEC Europe Ltd.
            Network Laboratories
            Kurfuersten-Anlage 34
            69221 Heidelberg
            Germany
            Tel: +49 6221 90511-15
            E-mail: quittek@ccrle.nec.de"
       DESCRIPTION
           "This MIB module defines a set of basic objects for
            monitoring and configuring robust header compression.
            The module covers information about running instances
            of ROHC (compressors or decompressors) at IP interfaces.

            Information about compressor contexts and decompressor
            contexts has different structure for different profiles.
            Therefore it is not provided by this MIB module, but by
            individual modules for dofferent profiles."
       ::= { mib-2 55555 }
   -- Number to be requested at IANA. 55555 is just a placeholder.

   RohcChannelIdentifier ::= TEXTUAL-CONVENTION
       STATUS       current
       DESCRIPTION
               "A number identifying a channel.
                The value of 0 is reserved, it must not be


Quittek, Hartenstein, Stiemerling                               [Page 9]


Internet-Draft                  ROHC MIB                   November 2002


                used as identifier of an existing channel."
       SYNTAX       Integer32 (0..2147483647)

   --
   -- The groups defined within this MIB module:
   --

   rohcObjects       OBJECT IDENTIFIER ::= { rohcMIB 1 }
   rohcConformance   OBJECT IDENTIFIER ::= { rohcMIB 2 }

   --
   -- The ROHC Instance group lists properties of ROHC
   -- instances in the rohcInstanceTable, about the channels used
   -- by the instances in the rohcChanneltable and about the profiles
   -- available at the instances in the rohcProfileTable.
   --

   rohcInstanceObjects       OBJECT IDENTIFIER ::= { rohcObjects 1 }

   --
   -- Channel Table
   --
   -- Listing all channels used for ROHC data and/or as feedback channel.
   --

   rohcChannelTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF RohcChannelEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table lists and describes all ROHC channels per interface."
       ::= { rohcInstanceObjects 1 }

   rohcChannelEntry OBJECT-TYPE
       SYNTAX      RohcChannelEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An entry describing a particular script. Every script that
            is stored in non-volatile memory is required to appear in
            this script table."
       INDEX { ifIndex, rohcChannelID }
       ::= { rohcChannelTable 1 }

   RohcChannelEntry ::= SEQUENCE {
       rohcChannelID               RohcChannelIdentifier,
       rohcChannelType             INTEGER,
       rohcChannelFeedbackFor      RohcChannelIdentifier,
       rohcChannelDescr            SnmpAdminString,
       rohcChannelStatus           INTEGER


Quittek, Hartenstein, Stiemerling                              [Page 10]


Internet-Draft                  ROHC MIB                   November 2002


   }

   rohcChannelID OBJECT-TYPE
       SYNTAX      RohcChannelIdentifier
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The locally arbitrary, but unique identifier associated
            with this channel.

            The value is expected to remain constant at least from one
            re-initialization of the entity's network management system
            to the next re-initialization."
       ::= { rohcChannelEntry 2 }

   rohcChannelType OBJECT-TYPE
       SYNTAX      INTEGER {
                       notInUse(1),
                       rohc(2),
                       dedicatedFeedback(3)
                   }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Type of usage of the channel.  A channel ight be currently
            not in use for ROHC or feedback, it might be in use as
            a ROHC channel carrying packets and optional piggy-backed
            feedback, or it might be used as a dedicated feedback channel
            exclusively carrying feedback."
       ::= { rohcChannelEntry 3 }

   rohcChannelFeedbackFor OBJECT-TYPE
       SYNTAX      RohcChannelIdentifier
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The index of another channel of this interface for which
            the channel serves as feedback channel, see RFC 3095,
            Section 5.1.1.

            If no feedback information is transferred on this channel,
            then the value of this ID is 0. If the channel type is set
            to none(1), then the value of this object must be 0.
            If the channel type is ROHC(2) and the value of this object
            is a valid channel ID, then feddback information is
            piggy-backed on the ROHC channel."
       ::= { rohcChannelEntry 4 }

   rohcChannelDescr OBJECT-TYPE
       SYNTAX      SnmpAdminString


Quittek, Hartenstein, Stiemerling                              [Page 11]


Internet-Draft                  ROHC MIB                   November 2002


       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "A textual description of the channel."
       ::= { rohcChannelEntry 5 }

   rohcChannelStatus OBJECT-TYPE
       SYNTAX      INTEGER {
                       enabled(1),
                       disabled(2)
                   }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Status of the channel."
       ::= { rohcChannelEntry 13 }

   --
   -- Instances of ROHC
   --
   -- This table lists properties of running instances of ROHC
   -- compressors and decompressors at the managed node.
   --

   rohcInstanceTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF RohcInstanceEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table lists properties of running instances
            of robust header compressors and decompressors
            at IP interfaces. It is indexed by interface number
            and the ID of the channel used for ROHC."
       ::= { rohcInstanceObjects 2 }

   rohcInstanceEntry OBJECT-TYPE
       SYNTAX      RohcInstanceEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An entry describing a particular instance
            of a robust header compressor or decompressor."
       INDEX { ifIndex, rohcInstanceType, rohcChannelID }
       ::= { rohcInstanceTable 1 }

   RohcInstanceEntry ::= SEQUENCE {
       rohcInstanceType               INTEGER,
       rohcInstanceFBChannelID        RohcChannelIdentifier,
       rohcInstanceVendor             OBJECT IDENTIFIER,
       rohcInstanceVersion            SnmpAdminString,


Quittek, Hartenstein, Stiemerling                              [Page 12]


Internet-Draft                  ROHC MIB                   November 2002


       rohcInstanceDescr              SnmpAdminString,
       rohcInstanceClockRes           Integer32,
       rohcInstanceMaxCID             Integer32,
       rohcInstanceLargeCIDs          TruthValue,
       rohcInstanceMRRU               Integer32,
       rohcInstanceContextStorageTime TimeInterval,
       rohcInstanceStatus             INTEGER,
       rohcInstanceContextsTotal      Counter32,
       rohcInstanceContextsCurrent    Integer32,
       rohcInstancePackets            Counter32,
       rohcInstanceIRs                Counter32,
       rohcInstanceIRDYNs             Counter32,
       rohcInstanceFeedbacks          Counter32,
       rohcInstanceCompressionRatio   Integer32
   }

   rohcInstanceType OBJECT-TYPE
       SYNTAX      INTEGER {
                       compressor(1),
                       decompressor(2)
                   }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Type of the instance of ROHC. It is either a
            compressor instance or a decompressor instance."
       ::= { rohcInstanceEntry 2 }

   rohcInstanceFBChannelID OBJECT-TYPE
       SYNTAX      RohcChannelIdentifier
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Identifier of the channel used for feedback."
       ::= { rohcInstanceEntry 4 }

   rohcInstanceVendor OBJECT-TYPE
       SYNTAX      OBJECT IDENTIFIER
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "An object identifer that identifies the vendor who
            provides the implementation of robust header description.
            This object identifer SHALL point to the object identifier
            directly below the enterprise object identifier {1 3 6 1 4 1}
            allocated for the vendor. The value must be the object
            identifier {0 0} if the vendor is not known."
       ::= { rohcInstanceEntry 5 }

   rohcInstanceVersion OBJECT-TYPE


Quittek, Hartenstein, Stiemerling                              [Page 13]


Internet-Draft                  ROHC MIB                   November 2002


       SYNTAX      SnmpAdminString (SIZE (0..32))
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The version number of the implementation of robust header
            compression. The zero-length string shall be used if the
            implementation does not have a version number.

            It is suggested that the version number consist of one or
            more decimal numbers separated by dots, where the first
            number is called the major version number."
       ::= { rohcInstanceEntry 6 }

   rohcInstanceDescr OBJECT-TYPE
       SYNTAX      SnmpAdminString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "A textual description of the implementation."
       ::= { rohcInstanceEntry 7 }

   rohcInstanceClockRes OBJECT-TYPE
       SYNTAX      Integer32 (0..2147483647)
       UNITS       "milliseconds"
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object indicates the system clock resolution in
            units of milliseconds. A zero (0) value means that there
            is no clock available."
       ::= { rohcInstanceEntry 8 }

   rohcInstanceMaxCID OBJECT-TYPE
       SYNTAX      Integer32 (1..2147483647)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The highest context ID number to be used by the compressor
            as defined in RFC 3095, Section 5.1.1. Note that this
            parameter is not coupled to, but in effect further
            constrained by, rohcChannelLargeCIDs."
       ::= { rohcInstanceEntry 9 }

   rohcInstanceLargeCIDs OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Boolean, as defined by RFC 3095, Section 5.1.1: if false,
            the short CID representation (0 bytes or 1 prefix byte,


Quittek, Hartenstein, Stiemerling                              [Page 14]


Internet-Draft                  ROHC MIB                   November 2002


            covering CID 0 to 15) is used; if true, the embedded CID
            representation (1 or 2 embedded CID bytes covering CID 0
            to 16383) is used."
       ::= { rohcInstanceEntry 10 }

   rohcInstanceMRRU OBJECT-TYPE
       SYNTAX      Integer32 (1..2147483647)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Maximum reconstructed reception unit according to RFC 3095,
            Section 5.1.1. This is the size of the largest
            reconstructed unit in octets that the decompressor is
            expected to reassemble from segments (see RFC 3095, Section 
            5.2.5). Note that this size includes the CRC. If MRRU is
            negotiated to be 0, no segment headers are allowed on the
            channel."
       ::= { rohcInstanceEntry 11 }

   rohcInstanceContextStorageTime OBJECT-TYPE
       SYNTAX      TimeInterval
       UNITS       "centi-seconds"
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "This object indicates the default maximum amount of time
            information on a context belonging to this instance is kept
            as entry in the rohcContextTable after the context is expired
            or terminated.  The value of this object is used to initialize
            rohcContexStorageTime object when a new context is created.
            Changing the value of an rohcInstanceContextExpireTime instance
            does not affect any entry of the rohcContextTable created
            previously."
       DEFVAL { 360000 }
       ::= { rohcInstanceEntry 12 }

   rohcInstanceStatus OBJECT-TYPE
       SYNTAX      INTEGER {
                       enabled(1),
                       disabled(2)
                   }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Status of the instance of ROHC."
       ::= { rohcInstanceEntry 13 }

   rohcInstanceContextsTotal OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only


Quittek, Hartenstein, Stiemerling                              [Page 15]


Internet-Draft                  ROHC MIB                   November 2002


       STATUS      current
       DESCRIPTION
           "Counter of all contexts created by this instance."
       ::= { rohcInstanceEntry 14 }

   rohcInstanceContextsCurrent OBJECT-TYPE
       SYNTAX      Integer32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Number of currently active contexts created by this instance."
       ::= { rohcInstanceEntry 15 }

   rohcInstancePackets OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Counter of passing this instance."
       ::= { rohcInstanceEntry 16 }

   rohcInstanceIRs OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of all IR packets sent or recived,
            repectively, by this instance."
       ::= { rohcInstanceEntry 17 }

   rohcInstanceIRDYNs OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of all IR-DYN packets sent or received,
            respectively, by this instance."
       ::= { rohcInstanceEntry 18 }

   rohcInstanceFeedbacks OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of all feedbacks sent or received,
            respectively, by this instance."
       ::= { rohcInstanceEntry 19 }

   rohcInstanceCompressionRatio OBJECT-TYPE
       SYNTAX      Integer32 (0..1000)


Quittek, Hartenstein, Stiemerling                              [Page 16]


Internet-Draft                  ROHC MIB                   November 2002


       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object indicates the compression ratio so far over all
            packets on the channel served by this instance.  The value is
            defined as 1000 * bytes(compressed) / bytes(original) rounded
            to the next integer value.  The number of bytes corresponds
            to all bytes of all IP packets including the IP header but
            excluding all lower layer headers."
       ::= { rohcInstanceEntry 20 }

   --
   -- Profile Table
   --

   rohcProfileTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF RohcProfileEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table lists a set of nonnegative integers as defined
            in RFC 3095, Section 5.1.1. Each integer indicates a
            profile supported by the decompressor. The compressor
            MUST NOT compress using a profile not in this list."
       ::= { rohcInstanceObjects 3 }

   rohcProfileEntry OBJECT-TYPE
       SYNTAX      RohcProfileEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An entry describing a particular profile supported by
            the decompressor. "
       INDEX { ifIndex, rohcChannelID, rohcProfile }
       ::= { rohcProfileTable 1 }

   RohcProfileEntry ::= SEQUENCE {
       rohcProfile         Integer32,
       rohcProfileVendor   OBJECT IDENTIFIER,
       rohcProfileVersion  SnmpAdminString,
       rohcProfileDescr    SnmpAdminString
   }

   rohcProfile OBJECT-TYPE
       SYNTAX      Integer32 (0..2147483647)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Identifier of a profile supported by the decompressor,
            as defined in RFC 3095, Section 5.1.1."


Quittek, Hartenstein, Stiemerling                              [Page 17]


Internet-Draft                  ROHC MIB                   November 2002


       ::= { rohcProfileEntry 3 }

   rohcProfileVendor OBJECT-TYPE
       SYNTAX      OBJECT IDENTIFIER
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "An object identifer that identifies the vendor who
            provides the implementation of robust header description.
            This object identifer SHALL point to the object identifier
            directly below the enterprise object identifier {1 3 6 1 4 1}
            allocated for the vendor. The value must be the object
            identifier {0 0} if the vendor is not known."
       ::= { rohcProfileEntry 4 }

   rohcProfileVersion OBJECT-TYPE
       SYNTAX      SnmpAdminString (SIZE (0..32))
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The version number of the implementation of robust header
            compression. The zero-length string shall be used if the
            implementation does not have a version number.

            It is suggested that the version number consist of one or
            more decimal numbers separated by dots, where the first
            number is called the major version number."
       ::= { rohcProfileEntry 5 }

   rohcProfileDescr OBJECT-TYPE
       SYNTAX      SnmpAdminString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "A textual description of the implementation."
       ::= { rohcProfileEntry 6 }

   --
   -- Context Table
   --

   rohcContextTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF RohcContextEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table lists and describes all compressor contexts
            per interface and instance."
       ::= { rohcObjects 2 }



Quittek, Hartenstein, Stiemerling                              [Page 18]


Internet-Draft                  ROHC MIB                   November 2002


   rohcContextEntry OBJECT-TYPE
       SYNTAX      RohcContextEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An entry describing a particular compressor context."
       INDEX { ifIndex, rohcInstanceType, rohcChannelID, rohcContextCID }
       ::= { rohcContextTable 1 }

   RohcContextEntry ::= SEQUENCE {
       rohcContextCID                  Integer32,
       rohcContextCIDState             INTEGER,
       rohcContextProfile              Integer32,
       rohcContextDecompressorDepth    Integer32,
       rohcContextStorageTime          TimeInterval,
       rohcContextActivationTime       DateAndTime,
       rohcContextDeactivationTime     DateAndTime,
       rohcContextPackets              Counter32,
       rohcContextIRs                  Counter32,
       rohcContextIRDYNs               Counter32,
       rohcContextFeedbacks            Counter32,
       rohcContextDecompressorFailures Counter32,
       rohcContextDecompressorRepairs  Counter32,
       rohcContextAllPacketsRatio      Integer32,
       rohcContextAllHeadersRatio      Integer32,
       rohcContextAllPacketsMeanSize   Integer32,
       rohcContextAllHeadersMeanSize   Integer32,
       rohcContextLastPacketsRatio     Integer32,
       rohcContextLastHeadersRatio     Integer32,
       rohcContextLastPacketsMeanSize  Integer32,
       rohcContextLastHeadersMeanSize  Integer32
   }

   rohcContextCID OBJECT-TYPE
       SYNTAX      Integer32 (0..2147483647)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The context identifier (CID) of this context
            as defined in RFC 3095, Section 5.1.3."
       ::= { rohcContextEntry 4 }

   rohcContextCIDState OBJECT-TYPE
       SYNTAX      INTEGER {
                       unused(1),
                       active(2),
                       expired(3),
                       terminated(4)
                   }
       MAX-ACCESS  read-only


Quittek, Hartenstein, Stiemerling                              [Page 19]


Internet-Draft                  ROHC MIB                   November 2002


       STATUS      current
       DESCRIPTION
           "State of the CID. When a CID is assigned to a context,
            its state changes from `unused' to `active'. The active
            context may stop operation due to some explicit
            signalling or after observing no packet for some specified
            time. In the first case then the CID state changes to
            `terminated', in the latter case it changes to `expired'.
            If the CID is re-used again for another context, the
            state changes back to `active'."
       ::= { rohcContextEntry 5 }

   rohcContextProfile OBJECT-TYPE
       SYNTAX      Integer32 (0..2147483647)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Identifier of the profile for this context.
            The profile is identified by its index in the
            rohcProfileTable for this instance."
       ::= { rohcContextEntry 6 }

   rohcContextDecompressorDepth OBJECT-TYPE
       SYNTAX      Integer32 (0..2147483647)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object indicates whether reverse decompression, for
            example as described in RFC 3095, Section 6.1, is used
            on this channel or not, and if used, to what extent.

            Its value is only valid for decompressor contexts, i.e.
            if rohcContextType has the value decompressor(2).

            The value of the reverse decompression depth indicates
            the maximum number of packets that are buffered, and thus
            possibly be reverse decompressed by the decompressor.
            A zero (0) value means that reverse decompression is not used."
       ::= { rohcContextEntry 7 }

      rohcContextStorageTime OBJECT-TYPE
          SYNTAX      TimeInterval
          UNITS       "centi-seconds"
          MAX-ACCESS  read-write
          STATUS      current
          DESCRIPTION
              "The value of this object specifies how long this row
               can exist in the rohcContextTable after the
               rohcContextCIDState switched to expired(3) or
               terminated(4).  This object returns  the remaining time


Quittek, Hartenstein, Stiemerling                              [Page 20]


Internet-Draft                  ROHC MIB                   November 2002


               that the row may exist before it is aged out.  The object
               is initialized with the value of the  associated
               rohcContextStorageTime object. After expiration or
               termination of the context, the value of this object ticks
               backwards.  The entry in the rohcContextTable is destroyed
               when the value reaches 0.

               The value of this object may be set in order to increase or
               reduce the remaining time that the row may exist.  Setting
               the value to 0 will destroy this entry as soon as the
               rochContextCIDState has the value expired(3) or
               terminated(4).

               Note that there is no guarantee that the row is stored as
               long as this object indicates. In case of limited CID
               space, the instance may re-use a CID before the storage
               time of the corresponding row in rohcContextTable reaches
               the value of 0. In this case the information stored in this
               row is not anymore available."
          ::= { rohcContextEntry 8 }

   rohcContextActivationTime OBJECT-TYPE
       SYNTAX      DateAndTime
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The date and time when the context started to be able to
            compress packets or decompress packets, respectively.
            The value '0000000000000000'H is returned if the context
            has not been activated yet."
       DEFVAL { '0000000000000000'H }
       ::= { rohcContextEntry 9 }

   rohcContextDeactivationTime OBJECT-TYPE
       SYNTAX      DateAndTime
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The date and time when the context stopped being able to
            compress packets or decompress packest, respectively, because
            it expired or was terminated for other reasons. The value
            '0000000000000000'H is returned if the context has not
            been deactivated yet."
       DEFVAL { '0000000000000000'H }
       ::= { rohcContextEntry 10 }

   rohcContextPackets OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current


Quittek, Hartenstein, Stiemerling                              [Page 21]


Internet-Draft                  ROHC MIB                   November 2002


       DESCRIPTION
           "The number of all packets passing this context."
       ::= { rohcContextEntry 11 }

   rohcContextIRs OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of all IR packets sent or received,
            respectively, by this context."
       ::= { rohcContextEntry 12 }

   rohcContextIRDYNs OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of all IR-DYN packets sent or received,
            respectively, by this context."
       ::= { rohcContextEntry 13 }

   rohcContextFeedbacks OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of all feddbacks sent or received,
            respectively, by this context."
       ::= { rohcContextEntry 14 }

   rohcContextDecompressorFailures OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of all decompressor failures so far in this
            context. The number is only valid for decompressor
            contexts, i.e. if rohcContextType has the value
            decompressor(2)."
       ::= { rohcContextEntry 15 }

   rohcContextDecompressorRepairs OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of all context repairs so far in this
            context.  The number is only valid for decompressor
            contexts, i.e. if rohcContextType has the value


Quittek, Hartenstein, Stiemerling                              [Page 22]


Internet-Draft                  ROHC MIB                   November 2002


            decompressor(2)."
       ::= { rohcContextEntry 16 }

   rohcContextAllPacketsRatio OBJECT-TYPE
       SYNTAX      Integer32 (0..1000)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object indicates the compression ratio so far over all
            packets passing this context.  The value is defined as
            1000 * bytes(compressed) / bytes(original) rounded to the
            next integer value.  The number of bytes corresponds to all
            bytes of all IP packets including the IP header but excluding
            all lower layer headers."
       ::= { rohcContextEntry 17 }

   rohcContextAllHeadersRatio OBJECT-TYPE
       SYNTAX      Integer32 (0..1000)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object indicates the compression ratio so far over all
            packet headers passing this context.  The value is defined as
            1000 * bytes(compressed) / bytes(original) rounded to the
            next integer value.  The number of bytes corresponds to all
            bytes of all headers that are subject to compression for the
            used profile."
       ::= { rohcContextEntry 18 }

   rohcContextAllPacketsMeanSize OBJECT-TYPE
       SYNTAX      Integer32 (0..2147483647)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object indicates the mean compressed packet size
            of all packets passing this context.  The packet size
            includes the IP header and payload but excludes all lower
            layer headers.  The mean value is given in byte rounded
            to the next integer value."
       ::= { rohcContextEntry 19 }

   rohcContextAllHeadersMeanSize OBJECT-TYPE
       SYNTAX      Integer32 (0..2147483647)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object indicates the mean compressed packet header size
            of all packets passing this context.  The packet header size
            is the sum of the size of all headers of a packet that are
            subject to compression for the used profile.  The mean value


Quittek, Hartenstein, Stiemerling                              [Page 23]


Internet-Draft                  ROHC MIB                   November 2002


            is given in byte rounded to the next integer value."
       ::= { rohcContextEntry 20 }

   rohcContextLastPacketsRatio OBJECT-TYPE
       SYNTAX      Integer32 (0..1000)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object indicates the compression ratio concerning the
            last 16 packets passing this context or concerning all packets
            passing this context if they are less than 16, so far.  The
            value is defined as 1000 * bytes(compressed) / bytes(original)
            rounded to the next integer value.  The number of bytes
            corresponds to all bytes of the IP packets including the IP
            header but excluding all lower layer headers."
       ::= { rohcContextEntry 21 }

   rohcContextLastHeadersRatio OBJECT-TYPE
       SYNTAX      Integer32 (0..1000)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object indicates the compression ratio concerning the
            headers of the last 16 packets passing this context or
            concerning the headers of all packets passing this context
            if they are less than 16, so far.  The value is defined as
            1000 * bytes(compressed) / bytes(original) rounded to the
            next integer value.  The number of bytes corresponds to all
            bytes of all headers that are subject to compression for the
            used profile."
       ::= { rohcContextEntry 22 }

   rohcContextLastPacketsMeanSize OBJECT-TYPE
       SYNTAX      Integer32 (0..2147483647)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object indicates the mean compressed packet size
            concerning the last 16 packets passing this context or
            concerning all packets passing this context if they are
            less than 16, so far.  The packet size includes the IP
            header and payload but excludes all lower layer headers.
            The mean value is given in byte rounded to the next
            integer value."
       ::= { rohcContextEntry 23 }

   rohcContextLastHeadersMeanSize OBJECT-TYPE
       SYNTAX      Integer32 (0..2147483647)
       MAX-ACCESS  read-only
       STATUS      current


Quittek, Hartenstein, Stiemerling                              [Page 24]


Internet-Draft                  ROHC MIB                   November 2002


       DESCRIPTION
           "This object indicates the mean compressed packet header size
            concerning the last 16 packets passing this context or
            concerning all packets passing this context if they are
            less than 16, so far.  The packet header size is the sum of
            the size of all headers of a packet that are subject to
            compression for the used profile.  The mean value is given
            in byte rounded to the next integer value."
       ::= { rohcContextEntry 24 }

   --
   -- conformance information
   --

   rohcCompliances OBJECT IDENTIFIER ::= { rohcConformance 1 }
   rohcGroups      OBJECT IDENTIFIER ::= { rohcConformance 2 }

   --
   -- compliance statements
   --


   rohcCompliance MODULE-COMPLIANCE
       STATUS      current
       DESCRIPTION
           "The compliance statement for SNMP entities that implement
            the ROHC MIB."
       MODULE      -- this module
       MANDATORY-GROUPS {
               rohcInstanceGroup, rohcContextGroup
       }
       GROUP   rohcStatisticsGroup
       DESCRIPTION
          "A compliant implementation does not have to implement
           the rohcStatisticsGroup."
       GROUP   rohcTimerGroup
       DESCRIPTION
          "A compliant implementation does not have to implement
           the rohcTimerGroup."
       OBJECT  rohcInstanceContextStorageTime
       MIN-ACCESS  read-only
       DESCRIPTION
           "A compliant implementation does not have to support
            changing the value of object rohcInstanceContextStorageTime."
       OBJECT  rohcContextStorageTime
       MIN-ACCESS  read-only
       DESCRIPTION
           "A compliant implementation does not have to support
            changing the value of object rohcContextStorageTime."
       GROUP   rohcContextStatisticsGroup


Quittek, Hartenstein, Stiemerling                              [Page 25]


Internet-Draft                  ROHC MIB                   November 2002


       DESCRIPTION
          "A compliant implementation does not have to implement
           the rohcContextStatisticsGroup."
       ::= { rohcCompliances 1 }

   rohcInstanceGroup OBJECT-GROUP
       OBJECTS {
           rohcChannelType,
           rohcChannelFeedbackFor,
           rohcChannelDescr,
           rohcChannelStatus,
           rohcInstanceFBChannelID,
           rohcInstanceType,
           rohcInstanceVendor,
           rohcInstanceVersion,
           rohcInstanceDescr,
           rohcInstanceClockRes,
           rohcInstanceMaxCID,
           rohcInstanceLargeCIDs,
           rohcInstanceMRRU,
           rohcInstanceStatus,
           rohcProfileVendor,
           rohcProfileVersion,
           rohcProfileDescr
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects providing information about
            ROHC instances, used channels and available profiles."
       ::= { rohcGroups 2 }

   rohcStatisticsGroup OBJECT-GROUP
       OBJECTS {
           rohcInstanceContextsTotal,
           rohcInstanceContextsCurrent,
           rohcInstancePackets,
           rohcInstanceIRs,
           rohcInstanceIRDYNs,
           rohcInstanceFeedbacks,
           rohcInstanceCompressionRatio
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects providing ROHC statistics."
       ::= { rohcGroups 4 }

   rohcContextGroup OBJECT-GROUP
       OBJECTS {
           rohcContextCIDState,
           rohcContextProfile,


Quittek, Hartenstein, Stiemerling                              [Page 26]


Internet-Draft                  ROHC MIB                   November 2002


           rohcContextDecompressorDepth
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects providing information about
            ROHC compressor contexts and decompressor contexts."
       ::= { rohcGroups 5 }

   rohcTimerGroup OBJECT-GROUP
       OBJECTS {
           rohcInstanceContextStorageTime,
           rohcContextStorageTime,
           rohcContextActivationTime,
           rohcContextDeactivationTime
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects providing statistical information
            about ROHC compressor contexts and decompressor contexts."
       ::= { rohcGroups 6 }

   rohcContextStatisticsGroup OBJECT-GROUP
       OBJECTS {
           rohcContextPackets,
           rohcContextIRs,
           rohcContextIRDYNs,
           rohcContextFeedbacks,
           rohcContextDecompressorFailures,
           rohcContextDecompressorRepairs,
           rohcContextAllPacketsRatio,
           rohcContextAllHeadersRatio,
           rohcContextAllPacketsMeanSize,
           rohcContextAllHeadersMeanSize,
           rohcContextLastPacketsRatio,
           rohcContextLastHeadersRatio,
           rohcContextLastPacketsMeanSize,
           rohcContextLastHeadersMeanSize
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects providing statistical information
            about ROHC compressor contexts and decompressor contexts."
       ::= { rohcGroups 7 }

   END


   ROHC-UNCOMPRESSED-MIB DEFINITIONS ::= BEGIN

   IMPORTS


Quittek, Hartenstein, Stiemerling                              [Page 27]


Internet-Draft                  ROHC MIB                   November 2002


       MODULE-IDENTITY, OBJECT-TYPE, mib-2
           FROM SNMPv2-SMI

       MODULE-COMPLIANCE, OBJECT-GROUP
           FROM SNMPv2-CONF

       ifIndex
           FROM IF-MIB

       rohcChannelID, rohcInstanceType, rohcContextCID
           FROM ROHC-MIB;

   rohcUncmprMIB MODULE-IDENTITY
       LAST-UPDATED "200209251401Z"
       ORGANIZATION "IETF Robust Header Compression Working Group"
       CONTACT-INFO
           "Juergen Quittek
            NEC Europe Ltd.
            Network Laboratories
            Kurfuersten-Anlage 34
            69221 Heidelberg
            Germany
            Tel: +49 6221 90511-15
            E-mail: quittek@ccrle.nec.de"
       DESCRIPTION
           "This MIB module defines a set of objects that for
            monitoring and configuring RObust Header Compression (ROHC).
            The objects are specific to ROHC uncompressed (profile 0x0000)."
       ::= { mib-2 55556 }
   -- Number to be requested at IANA. 55556 is just a placeholder.

   --
   -- The groups defined within this MIB module:
   --

   rohcUncmprObjects       OBJECT IDENTIFIER ::= { rohcUncmprMIB 1 }
   rohcUncmprConformance   OBJECT IDENTIFIER ::= { rohcUncmprMIB 2 }

   --
   -- Context Table
   --
   -- The rohcUncmprContextTable lists all contexts per interface
   -- and instance. It extends the rohcContextTable.
   --

   rohcUncmprContextTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF RohcUncmprContextEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION


Quittek, Hartenstein, Stiemerling                              [Page 28]


Internet-Draft                  ROHC MIB                   November 2002


           "This table lists and describes ROHC uncompressed profile
            specific properties of compressor contexts and
            decompressor contexts.  It extends the rohcContextTable
            of the ROHC-MIB module."
       ::= { rohcUncmprObjects 1 }

   rohcUncmprContextEntry OBJECT-TYPE
       SYNTAX      RohcUncmprContextEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An entry describing a particular context."
       INDEX { ifIndex, rohcInstanceType, rohcChannelID, rohcContextCID }
       ::= { rohcUncmprContextTable 1 }

   RohcUncmprContextEntry ::= SEQUENCE {
       rohcUncmprContextState         INTEGER,
       rohcUncmprContextMode          INTEGER,
       rohcUncmprContextACKs          Counter32
   }

   rohcUncmprContextState OBJECT-TYPE
       SYNTAX      INTEGER {
                       initAndRefresh(1),
                       normal(2),
                       noContext(3),
                       fullContext(4)
                   }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "State of the context as defined in RFC 3095,
            Section 5.10.3.  States initAndRefresh(1) and normal(2)
            are states of compressor contexts, states noContex(3)
            and fullContext(4) are states of decompressor contexts."
       ::= { rohcUncmprContextEntry 5 }

   rohcUncmprContextMode OBJECT-TYPE
       SYNTAX      INTEGER {
                       unidirectional(1),
                       bidirectional(2)
                   }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Mode of the context as defined in RFC 3095,
            Section 5.10.3."
       ::= { rohcUncmprContextEntry 6 }

   rohcUncmprContextACKs OBJECT-TYPE


Quittek, Hartenstein, Stiemerling                              [Page 29]


Internet-Draft                  ROHC MIB                   November 2002


       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of all positive feedbacks (ACK) sent or
            received in this context, respectively, as defined
            by RFC 3095, Section 5.2.1."
       ::= { rohcUncmprContextEntry 7 }

   --
   -- conformance information
   --

   rohcUncmprCompliances OBJECT IDENTIFIER ::= { rohcUncmprConformance 1 }
   rohcUncmprGroups      OBJECT IDENTIFIER ::= { rohcUncmprConformance 2 }

   --
   -- compliance statements
   --

   rohcUncmprCompliance MODULE-COMPLIANCE
       STATUS      current
       DESCRIPTION
           "The compliance statement for SNMP entities that implement
            the ROHC MIB."
       MODULE      -- this module
       MANDATORY-GROUPS {
               rohcUncmprContextGroup
       }
       GROUP   rohcUncmprStatisticsGroup
       DESCRIPTION
          "A compliant implementation does not have to implement
           the rohcUncmprStatisticsGroup."
       ::= { rohcUncmprCompliances 1 }

   rohcUncmprContextGroup OBJECT-GROUP
       OBJECTS {
           rohcUncmprContextState,
           rohcUncmprContextMode
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects providing information about
            ROHC uncompressed compressors and decompressors."
       ::= { rohcUncmprGroups 1 }

   rohcUncmprStatisticsGroup OBJECT-GROUP
       OBJECTS {
           rohcUncmprContextACKs
       }


Quittek, Hartenstein, Stiemerling                              [Page 30]


Internet-Draft                  ROHC MIB                   November 2002


       STATUS      current
       DESCRIPTION
           "An object providing context statistics."
       ::= { rohcUncmprGroups 2 }

   END


   ROHC-RTP-MIB DEFINITIONS ::= BEGIN

   IMPORTS
       MODULE-IDENTITY, OBJECT-TYPE, Integer32, mib-2
           FROM SNMPv2-SMI

       TruthValue
           FROM SNMPv2-TC

       MODULE-COMPLIANCE, OBJECT-GROUP
           FROM SNMPv2-CONF

       ifIndex
           FROM IF-MIB

       rohcChannelID, rohcInstanceType, rohcContextCID
           FROM ROHC-MIB;

   rohcRtpMIB MODULE-IDENTITY
       LAST-UPDATED "200209251359Z"
       ORGANIZATION "IETF Robust Header Compression Working Group"
       CONTACT-INFO
           "Juergen Quittek
            NEC Europe Ltd.
            Network Laboratories
            Kurfuersten-Anlage 34
            69221 Heidelberg
            Germany
            Tel: +49 6221 90511-15
            E-mail: quittek@ccrle.nec.de"
       DESCRIPTION
           "This MIB module defines a set of objects that for
            monitoring and configuring RObust Header Compression (ROHC).
            The objects are specific to ROHC RTP (profile 0x0001),
            ROHC UDP (profile 0x0002), and ROHC ESP (profile 0x0003)."
       ::= { mib-2 55557 }
   -- Number to be requested at IANA. 55557 is just a placeholder.

   --
   -- The groups defined within this MIB module:
   --



Quittek, Hartenstein, Stiemerling                              [Page 31]


Internet-Draft                  ROHC MIB                   November 2002


   rohcRtpObjects       OBJECT IDENTIFIER ::= { rohcRtpMIB 1 }
   rohcRtpConformance   OBJECT IDENTIFIER ::= { rohcRtpMIB 2 }

   --
   -- Context Table
   --
   -- The rohcRtpContextTable lists all contexts per interface
   -- and instance. It extends the rohcContextTable.
   --

   rohcRtpContextTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF RohcRtpContextEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table lists and describes RTP profile specific
            properties of compressor contexts and decompressor
            contexts. It extends the rohcContextTable of the
            ROHC-MIB module."
       ::= { rohcRtpObjects 1 }

   rohcRtpContextEntry OBJECT-TYPE
       SYNTAX      RohcRtpContextEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An entry describing a particular context."
       INDEX { ifIndex, rohcInstanceType, rohcChannelID, rohcContextCID }
       ::= { rohcRtpContextTable 1 }

   RohcRtpContextEntry ::= SEQUENCE {
       rohcRtpContextState         INTEGER,
       rohcRtpContextMode          INTEGER,
       rohcRtpContextSizesAllowed  Integer32,
       rohcRtpContextSizesUsed     Integer32,
       rohcRtpContextACKs          Counter32,
       rohcRtpContextNACKs         Counter32,
       rohcRtpContextSNACKs        Counter32
   }

   rohcRtpContextState OBJECT-TYPE
       SYNTAX      INTEGER {
                       initAndRefresh(1),
                       normal(2),
                       firstOrder(3),
                       secondOrder(4),
                       noContext(5),
                       staticContext(6),
                       fullContext(7)



Quittek, Hartenstein, Stiemerling                              [Page 32]


Internet-Draft                  ROHC MIB                   November 2002


                   }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "State of the context as defined in RFC 3095. States
            initAndRefresh(1), normal(2), firstOrder(3), and
            secondOrder(4) are states of compressor contexts,
            states noContex(5), staticContext(6) and fullContext(7)
            are states of decompressor contexts."
       ::= { rohcRtpContextEntry 5 }

   rohcRtpContextMode OBJECT-TYPE
       SYNTAX      INTEGER {
                       unidirectional(1),
                       bidirectional(2),
                       optimistic(3),
                       reliable(4)
                   }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Mode of the context as defined in RFC 3095,
            Section 4.4."
       ::= { rohcRtpContextEntry 6 }

   rohcRtpContextSizesAllowed  OBJECT-TYPE
       SYNTAX      Integer32 (1..2147483647)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The value of this object is only valid for decompressor
            contexts, i.e. if rohcContextType of the cooresponding
            rohcContextEntry has the value compressor(2).

            This object contains the number of different packet sizes
            that may be used in the context, as defined in RFC 3095,
            Section 6.3.1."
       ::= { rohcRtpContextEntry 7 }

   rohcRtpContextSizesUsed  OBJECT-TYPE
       SYNTAX      Integer32 (1..2147483647)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The value of this object is only valid for decompressor
            contexts, i.e. if rohcContextType of the cooresponding
            rohcContextEntry has the value compressor(2).

            This object contains the number of different packet sizes
            that are used in the context, as defined in RFC 3095,


Quittek, Hartenstein, Stiemerling                              [Page 33]


Internet-Draft                  ROHC MIB                   November 2002


            Section 6.3.1."
       ::= { rohcRtpContextEntry 8 }

   rohcRtpContextACKs OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of all positive feedbacks (ACK) sent or
            received in this context, respectively, as defined
            by RFC 3095, Section 5.2.1."
       ::= { rohcRtpContextEntry 9 }

   rohcRtpContextNACKs OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of all dynamic negative feedbacks (ACK) sent
            or received in this context, respectively, as defined
            by RFC 3095, Section 5.2.1."
       ::= { rohcRtpContextEntry 10 }

   rohcRtpContextSNACKs OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of all static negative feedbacks (ACK) sent
            or received in this context, respectively, as defined
            by RFC 3095, Section 5.2.1."
       ::= { rohcRtpContextEntry 11 }

   --
   -- Packet Sizes Table
   --
   -- The rohcPacketSizeTable lists allowed and used packet sizes
   -- per compressor context.

   rohcRtpPacketSizeTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF RohcRtpPacketSizeEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table lists all allowed packet sizes per compressor
            context, channel, and interface. Used packet sizes are
            marked."
       ::= { rohcRtpObjects 2 }

   rohcRtpPacketSizeEntry OBJECT-TYPE


Quittek, Hartenstein, Stiemerling                              [Page 34]


Internet-Draft                  ROHC MIB                   November 2002


       SYNTAX      RohcRtpPacketSizeEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An entry of a particular allowed packet size."
       INDEX { ifIndex, rohcInstanceType, rohcChannelID,
               rohcContextCID, rohcRtpPacketSize }
       ::= { rohcRtpPacketSizeTable 1 }

   RohcRtpPacketSizeEntry ::= SEQUENCE {
       rohcRtpPacketSize       Integer32,
       rohcRtpPacketSizeUsed   TruthValue
   }

   rohcRtpPacketSize OBJECT-TYPE
       SYNTAX      Integer32 (0..2147483647)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A packet size used as index."
       ::= { rohcRtpPacketSizeEntry 4 }

   rohcRtpPacketSizeUsed OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "When retrieved, this object will have the value
            true(1) if the packet size is used by the compressor
            context. Otherwise its value will be false(2), see
            RFC 3095, Section 6.3.1."
       ::= { rohcRtpPacketSizeEntry 5 }

   --
   -- conformance information
   --

   rohcRtpCompliances OBJECT IDENTIFIER ::= { rohcRtpConformance 1 }
   rohcRtpGroups      OBJECT IDENTIFIER ::= { rohcRtpConformance 2 }

   --
   -- compliance statements
   --

   rohcRtpCompliance MODULE-COMPLIANCE
       STATUS      current
       DESCRIPTION
           "The compliance statement for SNMP entities that implement
            the ROHC MIB."
       MODULE      -- this module


Quittek, Hartenstein, Stiemerling                              [Page 35]


Internet-Draft                  ROHC MIB                   November 2002


       MANDATORY-GROUPS {
               rohcRtpContextGroup
       }
       GROUP   rohcRtpPacketSizesGroup
       DESCRIPTION
          "A compliant implementation does not have to implement
           the rohcRtpPacketSizesGroup."
       GROUP   rohcRtpStatisticsGroup
       DESCRIPTION
          "A compliant implementation does not have to implement
           the rohcRtpStatisticsGroup."
       ::= { rohcRtpCompliances 1 }

   rohcRtpContextGroup OBJECT-GROUP
       OBJECTS {
           rohcRtpContextState,
           rohcRtpContextMode
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects providing information about
            ROHC RTP compressors and decompressors."
       ::= { rohcRtpGroups 1 }

   rohcRtpPacketSizesGroup OBJECT-GROUP
       OBJECTS {
           rohcRtpContextSizesAllowed,
           rohcRtpContextSizesUsed,
           rohcRtpPacketSizeUsed
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects providing information about
            allowed and used packet sizes at a ROHC RTP compressor."
       ::= { rohcRtpGroups 2 }

   rohcRtpStatisticsGroup OBJECT-GROUP
       OBJECTS {
           rohcRtpContextACKs,
           rohcRtpContextNACKs,
           rohcRtpContextSNACKs
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects providing ROHC compressor and
            decompressor statistics."
       ::= { rohcRtpGroups 3 }

   END



Quittek, Hartenstein, Stiemerling                              [Page 36]


Internet-Draft                  ROHC MIB                   November 2002


6.  Security Considerations

   The managed objects defined by the ROHC-MIB module, the ROHC-
   UNCOMPRESSED_MIB module and the ROHC-RTP-MIB module are read-only
   except the storage time of context table rows.  Therefore,
   unauthorized users getting access to the MIB via SNMP cannot cause
   harm to existing ROHC connections nor can they manipulate running
   instances of ROHC in a malicious way.  The only change they might be
   able to cause is a shortened or extended storage time of row in the
   context table. This might result in loss of information about past
   contexts.

   Another security issue is mis-use of he MIB for getting information
   about existing communication sessions.  However, the only information
   that might be disclosed is the use of channels. Users and their
   addresses are not visible in the MIB.  This information can only be
   mis-used in conjunction with the mis-use of further information.

   Although, the security risks arising from the ROHC-MIB module are not
   considered to be high, it is recommended for implementors and
   operators to apply the means for security offered by SNMPv3,
   particularly encryption of communication and the User-based Security
   Model described in [RFC2574].


7.  Acknowledgements

   Many thanks to Lars-Erik Jonsson and Mark West for their guidance
   through the ROHC world.  Further thanks to Frank Strauss for his
   advice on tricky SMI issues.


8.  Normative References

[RFC3095]   Bormann, C., et al., "An RObust Header Compression (ROHC):
            Framework and four profiles: RTP, UDP, ESP, and
            uncompressed", RFC 3095, July 2001.

[ROHCARC]   Jonsson, L.-E., "RObust Header Compression (ROHC):
            Terminology and Examples for MIB's and Channel Mappings",
            work in progress, <draft-jonsson-rohc-terminology-and-
            examples-00.txt>, October 2002.

[RFC2571]   Harrington, D., Presuhn, R., and B. Wijnen, "An Architecture
            for Describing SNMP Management Frameworks", RFC 2571, April
            1999.

[RFC2578]   McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
            Rose, M., and S. Waldbusser, "Structure of Management
            Information Version 2 (SMIv2)", STD 58, RFC 2578, April


Quittek, Hartenstein, Stiemerling                              [Page 37]


Internet-Draft                  ROHC MIB                   November 2002


            1999.

[RFC2579]   McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
            Rose, M., and S. Waldbusser, "Textual Conventions for
            SMIv2", STD 58, RFC 2579, April 1999.

[RFC2580]   McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
            Rose, M., and S. Waldbusser, "Conformance Statements for
            SMIv2", STD 58, RFC 2580, April 1999.

[RFC1906]   Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
            "Transport Mappings for Version 2 of the Simple Network
            Management Protocol (SNMPv2)", RFC 1906, January 1996.

[RFC2572]   Case, J., Harrington D., Presuhn R., and B. Wijnen, "Message
            Processing and Dispatching for the Simple Network Management
            Protocol (SNMP)", RFC 2572, April 1999.

[RFC2574]   Blumenthal, U., and B. Wijnen, "User-based Security Model
            (USM) for version 3 of the Simple Network Management
            Protocol (SNMPv3)", RFC 2574, April 1999.

[RFC1905]   Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
            "Protocol Operations for Version 2 of the Simple Network
            Management Protocol (SNMPv2)", RFC 1905, January 1996.

[RFC2573]   Levi, D., Meyer, P., and B. Stewart, "SNMPv3 Applications",
            RFC 2573, April 1999.

[RFC2575]   Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based
            Access Control Model (VACM) for the Simple Network
            Management Protocol (SNMP)", RFC 2575, April 1999.

[RFC2119]   Bradner, S., "Key words for use in RFCs to Indicate
            Requirement Levels", RFC 2119, March 1997.


9.  Informative References

[RFC1155]   Rose, M., and K. McCloghrie, "Structure and Identification
            of Management Information for TCP/IP-based Internets", STD
            16, RFC 1155, May 1990.

[RFC1212]   Rose, M., and K. McCloghrie, "Concise MIB Definitions", STD
            16, RFC 1212, March 1991.

[RFC1215]   M. Rose, "A Convention for Defining Traps for use with the
            SNMP", RFC 1215, March 1991.




Quittek, Hartenstein, Stiemerling                              [Page 38]


Internet-Draft                  ROHC MIB                   November 2002


[RFC1157]   Case, J., Fedor, M., Schoffstall, M., and J. Davin, "Simple
            Network Management Protocol", STD 15, RFC 1157, May 1990.

[RFC1901]   Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
            "Introduction to Community-based SNMPv2", RFC 1901, January
            1996.

[RFC2570]   Case, J., Mundy, R., Partain, D., and B. Stewart,
            "Introduction to Version 3 of the Internet-standard Network
            Management Framework", RFC 2570, April 1999.


10.  Authors' Addresses

     Juergen Quittek
     NEC Europe Ltd.
     Network Laboratories
     Kurfuersten-Anlage 34
     69115 Heidelberg
     Germany

     Phone: +49 6221 90511-15
     EMail: quittek@ccrle.nec.de


     Hannes Hartenstein
     NEC Europe Ltd.
     Network Laboratories
     Kurfuersten-Anlage 34
     69115 Heidelberg
     Germany

     Phone: +49 6221 13708-14
     Email: hannes.hartenstein@ccrle.nec.de


     Martin Stiemerling
     NEC Europe Ltd.
     Network Laboratories
     Kurfuersten-Anlage 34
     69115 Heidelberg
     Germany

     Phone: +49 6221 90511-13
     Email: stiemerling@ccrle.nec.de







Quittek, Hartenstein, Stiemerling                              [Page 39]


Internet-Draft                  ROHC MIB                   November 2002


11.  Full Copyright Statement

   Copyright (C) The Internet Society (2001). 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.

























Quittek, Hartenstein, Stiemerling                              [Page 40]