Skip to main content

Definitions of Managed Objects for RObust Header Compression (ROHC)
draft-ietf-rohc-mib-rtp-09

The information below is for an old version of the document that is already published as an RFC.
Document Type
This is an older version of an Internet-Draft that was ultimately published as RFC 3816.
Authors Hannes Hartenstein , Martin Stiemerling , Juergen Quittek
Last updated 2013-03-02 (Latest revision 2004-01-09)
RFC stream Internet Engineering Task Force (IETF)
Intended RFC status Proposed Standard
Formats
Additional resources Mailing list discussion
Stream WG state (None)
Document shepherd (None)
IESG IESG state Became RFC 3816 (Proposed Standard)
Action Holders
(None)
Consensus boilerplate Unknown
Telechat date (None)
Responsible AD Allison J. Mankin
Send notices to <cabo@tzi.org>, <lars-erik.jonsson@ericsson.com>
draft-ietf-rohc-mib-rtp-09
Internet Draft                                                J. Quittek
Document: draft-ietf-rohc-mib-rtp-09.txt                  M. Stiemerling
Expires: July 2004                                                   NEC
                                                          H. Hartenstein
                                                 University of Karlsruhe
                                                            January 2004

      Definitions of Managed Objects for Robust Header Compression
                    <draft-ietf-rohc-mib-rtp-09.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 (2004).  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 (ROHC).
   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 (Real-Time
   Transport Protocol) profile, the ROHC UDP (User Datagram Protocol)
   profile, the ROHC ESP (Encapsulating Security Payload) profile, and
   the ROHC LLA (Link Layer Assisted) profile.

Quittek, Stiemerling, Hartenstein                               [Page 1]
Internet-Draft                  ROHC MIB                    January 2004

Table of Contents

   1. Introduction ................................................    2
   2. The Internet-Standard Management Framework ..................    2
   3. Overview ....................................................    3
   4. Structure of the MIB modules ................................    3
     4.1. The ROHC-MIB module .....................................    4
       4.1.1. rohcChannelTable ....................................    5
       4.1.2. rohcInstanceTable ...................................    5
       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 .....................................   49
   7. Acknowledgements ............................................   50
   8. Normative References ........................................   50
   9. Informative References ......................................   51
   10. Authors' Addresses .........................................   51
   11. IPR Notices ................................................   52
   12. Full Copyright Statement ...................................   52

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", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in RFC
   2119 [RFC2119].

2.  The Internet-Standard Management Framework

   For a detailed overview of the documents that describe the current
   Internet-Standard Management Framework, please refer to section 7 of
   RFC 3410 [RFC3410].

   Managed objects are accessed via a virtual information store, termed
   the Management Information Base or MIB.  MIB objects are generally
   accessed through the Simple Network Management Protocol (SNMP).
   Objects in the MIB are defined using the mechanisms defined in the
   Structure of Management Information (SMI).  This memo specifies a MIB

Quittek, Stiemerling, Hartenstein                               [Page 2]
Internet-Draft                  ROHC MIB                    January 2004

   module that is compliant to the SMIv2, which is described in STD 58,
   RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580
   [RFC2580].

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.

   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 a 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 (see Section
   6.3. of [RFC3095]) and configuration parameters (including the ones
   specified in Section 5.1.1 of [RFC3095] and in Section 5.1.1 of
   [RFC3242]) can be verified by using the MIB modules specified below.

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

   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 5.  Basically, the MIB is structured according
   to the ROHC architecture described in [RFCXXXX].

Quittek, Stiemerling, Hartenstein                               [Page 3]
Internet-Draft                  ROHC MIB                    January 2004

   ROHC is an evolving technology.  [RFC3095] specifies the header
   compression framework and four profiles: uncompressed, RTP, UDP, and
   ESP (Real-Time Transport Protocol, User Datagram Protocol,
   Encapsulating Security Payload).  [RFC3242] specifies a profile with
   additional link layer assistance called LLA (Link Layer Assisted).  A
   profile for compression of TCP (Transmission Control Protocol) flows
   is under development within the ROHC working group and SCTP (Stream
   Control Transmission Protocol) 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.  This flexible approach allows to support future
   profiles each by its own profile-specific module.

   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
   objects that are specific to the ROHC uncompressed profile 0x0000
   defined in [RFC3095].  The ROHC-RTP-MIB module extends the ROHC-MIB
   by managed objects that are specific to the three profiles defined in
   [RFC3095] (ROHC RTP profile 0x0001, ROHC UDP profile 0x0002, and ROHC
   ESP profile 0x0003), and to the ROHC LLA profile 0x0005 defined in
   [RFC3242].  An analysis of these profiles showed that they are
   tightly related and can share most of the managed objects in the
   ROHC-UNCOMPRESSED-MIB module.  Therefore, a joint module for all of
   them was preferred to individual modules.

   The number of managed objects in the ROHC-UNCOMPRESSED-MIB Module and
   the ROHC-RTP-MIB Module is rather small.  They contain context state
   and context mode, and profile-specific context statistics.  It is
   assumed that MIB modules for future profiles, such as TCP and SCTP,
   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 rohcChannelTable, the
   rohcInstanceTable, the rohcProfileTable, and the rohcContextTable.
   The managed objects in the first three tables 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 [RFCXXXX]), as well as for dedicated feedback channels

Quittek, Stiemerling, Hartenstein                               [Page 4]
Internet-Draft                  ROHC MIB                    January 2004

   (called ROHC feedback channels in [RFCXXXX]).  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 context
   identifier (CID).

4.1.1.  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.  Listed channels are either ROHC
   channels or feedback channels as defined in [RFCXXXX].  The channels
   are listed per IP interface.

   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 (if
        applicable),

    o   a string for describing the channel, and

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

4.1.2.  rohcInstanceTable

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

   As described in [RFCXXXX], an instance is associated with exactly one
   channel and only one instance can be associated with the same
   channel.  Therefore, the same index consisting of ifIndex and
   rohcChannelID could have been used for both tables.  But when
   accessing the rohcInstanceTable (and the rohcContextTable that shares
   a part of its index with the rohcInstanceTable) there are many cases
   where either a compressor contexts or a decompressor contexts are of
   interest.  Therefore, the rohcInstanceType indicating either a
   compressor or a decompressor was added to the table's index.  This
   allows listing all compressors without accessing any decompressor.
   Note that still the combination of ifIndex and rohcChannelID uniquely
   identifies an instance.  It is always possible to directly identify
   and access the channel corresponding to a given instance.

Quittek, Stiemerling, Hartenstein                               [Page 5]
Internet-Draft                  ROHC MIB                    January 2004

   The set of instance properties in the rochInstanceTable includes

    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 storage time for contexts created by this instance,

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

   Optionally, the rohcInstanceTable also contains instance statistics
   including

    o   the total number of compressed flows,

    o   the current number of compressed flows,

    o   the total number of packets passing this instance

    o   the total number of static Initialization and Refreshs (IRs)
        passing this instance

    o   the total number of dynamic Initialization and Refreshs (IR-
        DYNs) passing this instance, and

    o   the total compression ratio achieved on the channel.

   Instances are listed per IP interface.

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

    o   a string describing the profile.

    o   a flag indicating whether or not using this profile has been
        negotiated with the corresponding (de)compressor.

Quittek, Stiemerling, Hartenstein                               [Page 6]
Internet-Draft                  ROHC MIB                    January 2004

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 attributes 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
        'terminated'), also used as part of the table index,

    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 context: 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 compressed packet size of all packets passing this
        context,

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

Quittek, Stiemerling, Hartenstein                               [Page 7]
Internet-Draft                  ROHC MIB                    January 2004

    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 compressed packet size of the last 16 packets passing
        this context,

    o   the mean header size of the last 16 compressed headers passing
        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
   [RFC3095].

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 [RFC3095] (ROHC RTP profile 0x0001, ROHC
   UDP profile 0x0002, and ROHC ESP profile 0x0003) and to the ROHC LLA
   profile 0x0005 specified in [RFC3242].  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 and 0x0005.  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 per compressor context the
   allowed packet sizes for profiles ROHC RTP, ROHC UDP, ROHC ESP, or
   the preferred packet sizes for ROHC LLA, respectively.  Allowed
   packet sizes are marked if they are used. For preferred packet sizes,
   it is indicated whether the preferred size applies to NHP only, to
   RHP only or to all packets.

Quittek, Stiemerling, Hartenstein                               [Page 8]
Internet-Draft                  ROHC MIB                    January 2004

5.  Definitions

   ROHC-MIB DEFINITIONS ::= BEGIN

   IMPORTS
       MODULE-IDENTITY, OBJECT-TYPE,
       Unsigned32, Counter32, mib-2
           FROM SNMPv2-SMI                  -- RFC2578

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

       MODULE-COMPLIANCE, OBJECT-GROUP
           FROM SNMPv2-CONF                 -- RFC2580

       SnmpAdminString
           FROM SNMP-FRAMEWORK-MIB          -- RFC3411

       ifIndex
           FROM IF-MIB;                     -- RFC2863

   rohcMIB MODULE-IDENTITY
       LAST-UPDATED "200401040101Z"  -- January 04, 2004
       ORGANIZATION "IETF Robust Header Compression Working Group"
       CONTACT-INFO
          "WG charter:
             http://www.ietf.org/html.charters/rohc-charter.html

           Mailing Lists:
             General Discussion: rohc@ietf.org
             To Subscribe: rohc-request@ietf.org
             In Body: subscribe your_email_address

           Editor:
             Juergen Quittek
             NEC Europe Ltd.
             Network Laboratories
             Kurfuersten-Anlage 36
             69221 Heidelberg
             Germany
             Tel: +49 6221 90511-15
             Email: 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

Quittek, Stiemerling, Hartenstein                               [Page 9]
Internet-Draft                  ROHC MIB                    January 2004

            contexts has different structure for different profiles.
            Therefore it is not provided by this MIB module, but by
            individual modules for different profiles.

            Copyright (C) The Internet Society (2004).  This version
            of this MIB module is part of RFC yyyy;  see the RFC
            itself for full legal notices."
   -- RFC Ed.: replace yyyy with actual RFC number & remove this notice

       REVISION    "200401040101Z"  -- January 04, 2004
       DESCRIPTION "Initial version, published as RFC yyyy."
   -- RFC Ed.: replace yyyy with actual RFC number & remove this notice

       ::= { mib-2 XXX }
   -- XXX to be assigned by IANA.

   RohcChannelIdentifier ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "d"
       STATUS       current
       DESCRIPTION
           "A number identifying a channel.
            The value of 0 must not be used as identifier
            of an existing channel."
       SYNTAX       Unsigned32 (1..4294967295)

   RohcChannelIdentifierOrZero ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "d"
       STATUS       current
       DESCRIPTION
           "A number identifying a channel.
            The value of 0 is indicates that
            no channel is identified."
       SYNTAX       Unsigned32 (0..4294967295)

   RohcCompressionRatio ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "d"
       STATUS       current
       DESCRIPTION
           "A number indicating a compression ratio over
            a set of bytes.  The value is defined as
            1000 * bytes(compressed) / bytes(original)
            rounded to the next integer value.

            Note that compressed sets of bytes can be larger
            than the corresponding uncompressed ones.
            Therefore, the number can be greater than 1000."
       SYNTAX       Unsigned32

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

Quittek, Stiemerling, Hartenstein                              [Page 10]
Internet-Draft                  ROHC MIB                    January 2004

   --

   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 channel
   -- 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.

            Note, that the rohcChannelID identifies the channel
            uniquely.  The ifIndex is part of the index of this table
            just in order to allow addressing channels per interface."
       INDEX { ifIndex, rohcChannelID }
       ::= { rohcChannelTable 1 }

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

Quittek, Stiemerling, Hartenstein                              [Page 11]
Internet-Draft                  ROHC MIB                    January 2004

       rohcChannelStatus           INTEGER
   }

   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 REQUIRED to be unique
            per ROHC MIB implementation independent of the associated
            interface.

            The value is REQUIRED to remain constant at least from one
            re-initialization of the entity's network management system
            to the next re-initialization.  It is RECOMMENDED that the
            value persist across such re-initializations."
       REFERENCE
           "RFC 3095, Section 5.1.1"
       ::= { 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 might 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      RohcChannelIdentifierOrZero
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The index of another channel of this interface for which
            the channel serves as feedback channel.

            If no feedback information is transferred on this channel,
            then the value of this ID is 0. If the channel type is set
            to notInUse(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 feedback information is

Quittek, Stiemerling, Hartenstein                              [Page 12]
Internet-Draft                  ROHC MIB                    January 2004

            piggy-backed on the ROHC channel.  If the channel type is
            dedicatedFeedback(3), then feedback is transferred on this
            channel and the value of this object MUST be different from
            0 and MUST identify an existing ROHC channel."
       REFERENCE
           "RFC 3095, Section 5.1.1"
       ::= { rohcChannelEntry 4 }

   rohcChannelDescr OBJECT-TYPE
       SYNTAX      SnmpAdminString
       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 6 }

   --
   -- 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,
            the type of instance (compressor or decompressor),
            and and the ID of the channel used by the instance as
            ROHC channel.

            Note that the rohcChannelID uniquely identifies an
            instance.  The ifIndex and rohcInstanceType are part
            of the index, because it simplifies accessing instances
            per interface and for addressing either compressors or

Quittek, Stiemerling, Hartenstein                              [Page 13]
Internet-Draft                  ROHC MIB                    January 2004

            decompressors only."
       ::= { 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        RohcChannelIdentifierOrZero,
       rohcInstanceVendor             OBJECT IDENTIFIER,
       rohcInstanceVersion            SnmpAdminString,
       rohcInstanceDescr              SnmpAdminString,
       rohcInstanceClockRes           Unsigned32,
       rohcInstanceMaxCID             Unsigned32,
       rohcInstanceLargeCIDs          TruthValue,
       rohcInstanceMRRU               Unsigned32,
       rohcInstanceContextStorageTime TimeInterval,
       rohcInstanceStatus             INTEGER,
       rohcInstanceContextsTotal      Counter32,
       rohcInstanceContextsCurrent    Unsigned32,
       rohcInstancePackets            Counter32,
       rohcInstanceIRs                Counter32,
       rohcInstanceIRDYNs             Counter32,
       rohcInstanceFeedbacks          Counter32,
       rohcInstanceCompressionRatio   RohcCompressionRatio
   }

   rohcInstanceType OBJECT-TYPE
       SYNTAX      INTEGER {
                       compressor(1),
                       decompressor(2)
                   }
       MAX-ACCESS  not-accessible
       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      RohcChannelIdentifierOrZero
       MAX-ACCESS  read-only
       STATUS      current

Quittek, Stiemerling, Hartenstein                              [Page 14]
Internet-Draft                  ROHC MIB                    January 2004

       DESCRIPTION
           "Identifier of the channel used for feedback.
            If no feedback channel is used, the value of
            this object is 0 ."
       REFERENCE
           "RFC 3095, Section 5.1.1"
       ::= { 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
       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      Unsigned32
       UNITS       "milliseconds"
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object indicates the system clock resolution in

Quittek, Stiemerling, Hartenstein                              [Page 15]
Internet-Draft                  ROHC MIB                    January 2004

            units of milliseconds. A zero (0) value means that there
            is no clock available."
       ::= { rohcInstanceEntry 8 }

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

   rohcInstanceLargeCIDs OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "When retrieved, this boolean object returns false if
            the short CID representation (0 bytes or 1 prefix byte,
            covering CID 0 to 15) is used; it returns true, if the
            embedded CID representation (1 or 2 embedded CID bytes
            covering CID 0 to 16383) is used."
       REFERENCE
           "RFC 3095, Section 5.1.1"
       ::= { rohcInstanceEntry 10 }

   rohcInstanceMRRU OBJECT-TYPE
       SYNTAX      Unsigned32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Maximum reconstructed reception unit.  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."
       REFERENCE
           "RFC 3095, Section 5.1.1"
       ::= { rohcInstanceEntry 11 }

   rohcInstanceContextStorageTime OBJECT-TYPE
       SYNTAX      TimeInterval
       UNITS       "centi-seconds"
       MAX-ACCESS  read-write

Quittek, Stiemerling, Hartenstein                              [Page 16]
Internet-Draft                  ROHC MIB                    January 2004

       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 rohcInstanceContextStorageTime
            instance does not affect any entry of the rohcContextTable
            created previously.
            ROHC-MIB implementations SHOULD store the set value of this
            object persistently."
       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
       STATUS      current
       DESCRIPTION
           "Counter of all contexts created by this instance.

            Discontinuities in the value of this counter can
            occur at re-initialization of the management
            system, and at other times as indicated by the
            value of ifCounterDiscontinuityTime."
       ::= { rohcInstanceEntry 14 }

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

   rohcInstancePackets OBJECT-TYPE

Quittek, Stiemerling, Hartenstein                              [Page 17]
Internet-Draft                  ROHC MIB                    January 2004

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Counter of all packets passing this instance.

            Discontinuities in the value of this counter can
            occur at re-initialization of the management
            system, and at other times as indicated by the
            value of ifCounterDiscontinuityTime."
       ::= { rohcInstanceEntry 16 }

   rohcInstanceIRs OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of all IR packets that are either sent
            or received by this instance.

            Discontinuities in the value of this counter can
            occur at re-initialization of the management
            system, and at other times as indicated by the
            value of ifCounterDiscontinuityTime."
       REFERENCE
           "RFC 3095, Section 5.7.7.1"
       ::= { rohcInstanceEntry 17 }

   rohcInstanceIRDYNs OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of all IR-DYN packets that are either sent
            or received by this instance.

            Discontinuities in the value of this counter can
            occur at re-initialization of the management
            system, and at other times as indicated by the
            value of ifCounterDiscontinuityTime."
       REFERENCE
           "RFC 3095, Section 5.7.7.2"
       ::= { rohcInstanceEntry 18 }

   rohcInstanceFeedbacks OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of all feedbacks that are either sent

Quittek, Stiemerling, Hartenstein                              [Page 18]
Internet-Draft                  ROHC MIB                    January 2004

            or received by this instance.

            Discontinuities in the value of this counter can
            occur at re-initialization of the management
            system, and at other times as indicated by the
            value of ifCounterDiscontinuityTime."
       ::= { rohcInstanceEntry 19 }

   rohcInstanceCompressionRatio OBJECT-TYPE
       SYNTAX      RohcCompressionRatio
       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
            compression is computed over all bytes of the 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 profiles supported by the
            instance."
       REFERENCE
           "RFC 3095, Section 5.1.1"
       ::= { rohcInstanceObjects 3 }

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

   RohcProfileEntry ::= SEQUENCE {
       rohcProfile            Unsigned32,
       rohcProfileVendor      OBJECT IDENTIFIER,
       rohcProfileVersion     SnmpAdminString,

Quittek, Stiemerling, Hartenstein                              [Page 19]
Internet-Draft                  ROHC MIB                    January 2004

       rohcProfileDescr       SnmpAdminString,
       rohcProfileNegotiated  TruthValue
   }

   rohcProfile OBJECT-TYPE
       SYNTAX      Unsigned32 (0..65535)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Identifier of a profile supported. For a listing of
            possible profile values, see the IANA registry for
            'RObust Header Compression (ROHC) Profile Identifiers'
            at http://www.iana.org/assignments/rohc-pro-ids"
       ::= { rohcProfileEntry 2 }

   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 3 }

   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 4 }

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

Quittek, Stiemerling, Hartenstein                              [Page 20]
Internet-Draft                  ROHC MIB                    January 2004

   rohcProfileNegotiated OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "When retrieved, this boolean object returns true
            if the profile has been negotiated to be used at
            the instance, i.e. is supported also be the
            corresponding compressor/decompressor."
       ::= { 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 instance."
       ::= { rohcObjects 2 }

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

   RohcContextEntry ::= SEQUENCE {
       rohcContextCID                  Unsigned32,
       rohcContextCIDState             INTEGER,
       rohcContextProfile              Unsigned32,
       rohcContextDecompressorDepth    Unsigned32,
       rohcContextStorageTime          TimeInterval,
       rohcContextActivationTime       DateAndTime,
       rohcContextDeactivationTime     DateAndTime,
       rohcContextPackets              Counter32,
       rohcContextIRs                  Counter32,
       rohcContextIRDYNs               Counter32,
       rohcContextFeedbacks            Counter32,
       rohcContextDecompressorFailures Counter32,
       rohcContextDecompressorRepairs  Counter32,

Quittek, Stiemerling, Hartenstein                              [Page 21]
Internet-Draft                  ROHC MIB                    January 2004

       rohcContextAllPacketsRatio      RohcCompressionRatio,
       rohcContextAllHeadersRatio      RohcCompressionRatio,
       rohcContextAllPacketsMeanSize   Unsigned32,
       rohcContextAllHeadersMeanSize   Unsigned32,
       rohcContextLastPacketsRatio     RohcCompressionRatio,
       rohcContextLastHeadersRatio     RohcCompressionRatio,
       rohcContextLastPacketsMeanSize  Unsigned32,
       rohcContextLastHeadersMeanSize  Unsigned32
   }

   rohcContextCID OBJECT-TYPE
       SYNTAX      Unsigned32 (0..16383)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The context identifier (CID) of this context."
       REFERENCE
           "RFC 3095, Sections 5.1.1 and 5.1.3"
       ::= { rohcContextEntry 2 }

   rohcContextCIDState OBJECT-TYPE
       SYNTAX      INTEGER {
                       unused(1),
                       active(2),
                       expired(3),
                       terminated(4)
                   }
       MAX-ACCESS  read-only
       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 3 }

   rohcContextProfile OBJECT-TYPE
       SYNTAX      Unsigned32 (0..65535)
       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.  There MUST exist a
            corresponding entry in the rohcProfileTable using the
            value of rohcContextProfile as second part of the index

Quittek, Stiemerling, Hartenstein                              [Page 22]
Internet-Draft                  ROHC MIB                    January 2004

            (and using the same rohcChannelID as first part of the
            index)."
       ::= { rohcContextEntry 4 }

   rohcContextDecompressorDepth OBJECT-TYPE
       SYNTAX      Unsigned32
       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 rohcInstanceType has the value decompressor(2).  For
            compressor contexts where rohcInstanceType has the value
            compressor(1), the value of this object is irrelavant
            and MUST be set to zero (0).

            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 5 }

   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
            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

Quittek, Stiemerling, Hartenstein                              [Page 23]
Internet-Draft                  ROHC MIB                    January 2004

            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 6 }

   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 7 }

   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 8 }

   rohcContextPackets OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of all packets passing this context.

            Discontinuities in the value of this counter can
            occur at re-initialization of the management
            system, and at other times as indicated by the
            value of ifCounterDiscontinuityTime.  For checking
            ifCounterDiscontinuityTime, the interface index is
            required.  It can be determined by reading the
            rohcChannelTable."
       ::= { rohcContextEntry 9 }

   rohcContextIRs OBJECT-TYPE
       SYNTAX      Counter32

Quittek, Stiemerling, Hartenstein                              [Page 24]
Internet-Draft                  ROHC MIB                    January 2004

       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of all IR packets sent or received,
            respectively, by this context.

            Discontinuities in the value of this counter can
            occur at re-initialization of the management
            system, and at other times as indicated by the
            value of ifCounterDiscontinuityTime.  For checking
            ifCounterDiscontinuityTime, the interface index is
            required.  It can be determined by reading the
            rohcChannelTable."
       REFERENCE
           "RFC 3095, Section 5.7.7.1"
       ::= { rohcContextEntry 10 }

   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.

            Discontinuities in the value of this counter can
            occur at re-initialization of the management
            system, and at other times as indicated by the
            value of ifCounterDiscontinuityTime.  For checking
            ifCounterDiscontinuityTime, the interface index is
            required.  It can be determined by reading the
            rohcChannelTable."
       REFERENCE
           "RFC 3095, Section 5.7.7.2"
       ::= { rohcContextEntry 11 }

   rohcContextFeedbacks OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of all feedbacks sent or received,
            respectively, by this context.

            Discontinuities in the value of this counter can
            occur at re-initialization of the management
            system, and at other times as indicated by the
            value of ifCounterDiscontinuityTime.  For checking
            ifCounterDiscontinuityTime, the interface index is
            required.  It can be determined by reading the

Quittek, Stiemerling, Hartenstein                              [Page 25]
Internet-Draft                  ROHC MIB                    January 2004

            rohcChannelTable."
       ::= { rohcContextEntry 12 }

   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 rohcInstanceType has the value
            decompressor(2).

            Discontinuities in the value of this counter can
            occur at re-initialization of the management
            system, and at other times as indicated by the
            value of ifCounterDiscontinuityTime.  For checking
            ifCounterDiscontinuityTime, the interface index is
            required.  It can be determined by reading the
            rohcChannelTable."
       ::= { rohcContextEntry 13 }

   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 rohcInstanceType has the value
            decompressor(2).

            Discontinuities in the value of this counter can
            occur at re-initialization of the management
            system, and at other times as indicated by the
            value of ifCounterDiscontinuityTime.  For checking
            ifCounterDiscontinuityTime, the interface index is
            required.  It can be determined by reading the
            rohcChannelTable."
       ::= { rohcContextEntry 14 }

   rohcContextAllPacketsRatio OBJECT-TYPE
       SYNTAX      RohcCompressionRatio
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object indicates the compression ratio so far over all
            packets passing this context.  The compression is computed
            over all bytes of the IP packets including the IP header
            but excluding all lower layer headers."

Quittek, Stiemerling, Hartenstein                              [Page 26]
Internet-Draft                  ROHC MIB                    January 2004

       ::= { rohcContextEntry 15 }

   rohcContextAllHeadersRatio OBJECT-TYPE
       SYNTAX      RohcCompressionRatio
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object indicates the compression ratio so far over all
            packet headers passing this context.  The compression is
            computed over all bytes of all headers that are subject to
            compression for the used profile."
       ::= { rohcContextEntry 16 }

   rohcContextAllPacketsMeanSize OBJECT-TYPE
       SYNTAX      Unsigned32
       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 17 }

   rohcContextAllHeadersMeanSize OBJECT-TYPE
       SYNTAX      Unsigned32
       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
            is given in byte rounded to the next integer value."
       ::= { rohcContextEntry 18 }

   rohcContextLastPacketsRatio OBJECT-TYPE
       SYNTAX      RohcCompressionRatio
       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 compression is
            computed over all bytes of the IP packets including the IP
            header but excluding all lower layer headers."
       ::= { rohcContextEntry 19 }

Quittek, Stiemerling, Hartenstein                              [Page 27]
Internet-Draft                  ROHC MIB                    January 2004

   rohcContextLastHeadersRatio OBJECT-TYPE
       SYNTAX      RohcCompressionRatio
       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 compression is
            computed over all bytes of all headers that are subject to
            compression for the used profile."
       ::= { rohcContextEntry 20 }

   rohcContextLastPacketsMeanSize OBJECT-TYPE
       SYNTAX      Unsigned32
       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 21 }

   rohcContextLastHeadersMeanSize OBJECT-TYPE
       SYNTAX      Unsigned32
       MAX-ACCESS  read-only
       STATUS      current
       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 22 }

   --
   -- conformance information
   --

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

   --
   -- compliance statements

Quittek, Stiemerling, Hartenstein                              [Page 28]
Internet-Draft                  ROHC MIB                    January 2004

   --

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

            Note that compliance with this compliance
            statement requires compliance with the
            ifCompliance3 MODULE-COMPLIANCE statement of the
            IF-MIB (RFC2863)."
       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
       DESCRIPTION
          "A compliant implementation does not have to implement
           the rohcContextStatisticsGroup."
       ::= { rohcCompliances 1 }

   rohcInstanceGroup OBJECT-GROUP
       OBJECTS {
           rohcChannelType,
           rohcChannelFeedbackFor,
           rohcChannelDescr,
           rohcChannelStatus,
           rohcInstanceFBChannelID,
           rohcInstanceVendor,
           rohcInstanceVersion,

Quittek, Stiemerling, Hartenstein                              [Page 29]
Internet-Draft                  ROHC MIB                    January 2004

           rohcInstanceDescr,
           rohcInstanceClockRes,
           rohcInstanceMaxCID,
           rohcInstanceLargeCIDs,
           rohcInstanceMRRU,
           rohcInstanceStatus,
           rohcProfileVendor,
           rohcProfileVersion,
           rohcProfileDescr,
           rohcProfileNegotiated
       }
       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,
           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

Quittek, Stiemerling, Hartenstein                              [Page 30]
Internet-Draft                  ROHC MIB                    January 2004

       }
       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

Quittek, Stiemerling, Hartenstein                              [Page 31]
Internet-Draft                  ROHC MIB                    January 2004

   ROHC-UNCOMPRESSED-MIB DEFINITIONS ::= BEGIN

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

       MODULE-COMPLIANCE, OBJECT-GROUP
           FROM SNMPv2-CONF                     -- RFC2580

       rohcChannelID, rohcContextCID
           FROM ROHC-MIB;

   rohcUncmprMIB MODULE-IDENTITY
       LAST-UPDATED "200401040102Z"  -- January 04, 2004
       ORGANIZATION "IETF Robust Header Compression Working Group"
       CONTACT-INFO
          "WG charter:
             http://www.ietf.org/html.charters/rohc-charter.html

           Mailing Lists:
             General Discussion: rohc@ietf.org
             To Subscribe: rohc-request@ietf.org
             In Body: subscribe your_email_address

           Editor:
             Juergen Quittek
             NEC Europe Ltd.
             Network Laboratories
             Kurfuersten-Anlage 36
             69221 Heidelberg
             Germany
             Tel: +49 6221 90511-15
             Email: quittek@ccrle.nec.de"
       DESCRIPTION
           "This MIB module defines a set of objects for monitoring
            and configuring RObust Header Compression (ROHC).
            The objects are specific to ROHC uncompressed
            (profile 0x0000).

            Copyright (C) The Internet Society (2004).  This version
            of this MIB module is part of RFC yyyy;  see the RFC
            itself for full legal notices."
   -- RFC Ed.: replace yyyy with actual RFC number & remove this notice

       REVISION    "200401040102Z"  -- January 04, 2004
       DESCRIPTION "Initial version, published as RFC yyyy."
   -- RFC Ed.: replace yyyy with actual RFC number & remove this notice

       ::= { mib-2 XXXX }
   -- XXXX to be assigned by IANA.

Quittek, Stiemerling, Hartenstein                              [Page 32]
Internet-Draft                  ROHC MIB                    January 2004

   --
   -- 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
           "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 {
           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)
                   }

Quittek, Stiemerling, Hartenstein                              [Page 33]
Internet-Draft                  ROHC MIB                    January 2004

       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "State of the context. States initAndRefresh(1) and normal(2)
            are states of compressor contexts, states noContext(3)
            and fullContext(4) are states of decompressor contexts."
       REFERENCE
           "RFC 3095, Section 5.10.3"
       ::= { rohcUncmprContextEntry 3 }

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

   rohcUncmprContextACKs 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.

            Discontinuities in the value of this counter can
            occur at re-initialization of the management
            system, and at other times as indicated by the
            value of ifCounterDiscontinuityTime.  For checking
            ifCounterDiscontinuityTime, the interface index is
            required.  It can be determined by reading the
            rohcChannelTable of the ROHC-MIB."
       REFERENCE
           "RFC 3095, Section 5.2.1"
       ::= { rohcUncmprContextEntry 5 }

   --
   -- conformance information
   --

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

Quittek, Stiemerling, Hartenstein                              [Page 34]
Internet-Draft                  ROHC MIB                    January 2004

   --
   -- compliance statements
   --

   rohcUncmprCompliance MODULE-COMPLIANCE
       STATUS      current
       DESCRIPTION
           "The compliance statement for SNMP entities that implement
            the ROHC-UNCOMPRESSED-MIB.

            Note that compliance with this compliance
            statement requires compliance with the
            rohcCompliance MODULE-COMPLIANCE statement of the
            ROHC-MIB and with the ifCompliance3 MODULE-COMPLIANCE
            statement of the IF-MIB (RFC2863)."
       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
       }
       STATUS      current
       DESCRIPTION
           "An object providing context statistics."
       ::= { rohcUncmprGroups 2 }

   END

Quittek, Stiemerling, Hartenstein                              [Page 35]
Internet-Draft                  ROHC MIB                    January 2004

   ROHC-RTP-MIB DEFINITIONS ::= BEGIN

   IMPORTS
       MODULE-IDENTITY, OBJECT-TYPE,
       Unsigned32, Counter32, mib-2
           FROM SNMPv2-SMI                      -- RFC2578

       TruthValue
           FROM SNMPv2-TC                       -- RFC2579

       MODULE-COMPLIANCE, OBJECT-GROUP
           FROM SNMPv2-CONF                     -- RFC2580

       rohcChannelID, rohcContextCID
           FROM ROHC-MIB;                       -- RFCyyyy
   -- RFC Ed.: replace yyyy with actual RFC number & remove this notice

   rohcRtpMIB MODULE-IDENTITY
       LAST-UPDATED "200401040103Z"  -- January 04, 2004
       ORGANIZATION "IETF Robust Header Compression Working Group"
       CONTACT-INFO
          "WG charter:
             http://www.ietf.org/html.charters/rohc-charter.html

           Mailing Lists:
             General Discussion: rohc@ietf.org
             To Subscribe: rohc-request@ietf.org
             In Body: subscribe your_email_address

           Editor:
             Juergen Quittek
             NEC Europe Ltd.
             Network Laboratories
             Kurfuersten-Anlage 36
             69221 Heidelberg
             Germany
             Tel: +49 6221 90511-15
             Email: quittek@ccrle.nec.de"
       DESCRIPTION
           "This MIB module defines a set of objects 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)
            defined in RFC 3095 and for the ROHC LLA profile (profile
            0x0005) defined in RFC 3242.

            Copyright (C) The Internet Society (2004).  This version
            of this MIB module is part of RFC yyyy;  see the RFC
            itself for full legal notices."
   -- RFC Ed.: replace yyyy with actual RFC number & remove this notice

Quittek, Stiemerling, Hartenstein                              [Page 36]
Internet-Draft                  ROHC MIB                    January 2004

       REVISION    "200401040103Z"  -- January 04, 2004
       DESCRIPTION "Initial version, published as RFC yyyy."
   -- RFC Ed.: replace yyyy with actual RFC number & remove this notice

       ::= { mib-2 XXXXX }
   -- XXXXX to be assigned by IANA.

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

   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 {
           rohcChannelID,
           rohcContextCID
       }
       ::= { rohcRtpContextTable 1 }

   RohcRtpContextEntry ::= SEQUENCE {
       rohcRtpContextState             INTEGER,
       rohcRtpContextMode              INTEGER,
       rohcRtpContextAlwaysPad         TruthValue,
       rohcRtpContextLargePktsAllowed  TruthValue,
       rohcRtpContextVerifyPeriod      Unsigned32,

Quittek, Stiemerling, Hartenstein                              [Page 37]
Internet-Draft                  ROHC MIB                    January 2004

       rohcRtpContextSizesAllowed      Unsigned32,
       rohcRtpContextSizesUsed         Unsigned32,
       rohcRtpContextACKs              Counter32,
       rohcRtpContextNACKs             Counter32,
       rohcRtpContextSNACKs            Counter32,
       rohcRtpContextNHPs              Counter32,
       rohcRtpContextCSPs              Counter32,
       rohcRtpContextCCPs              Counter32,
       rohcRtpContextPktsLostPhysical  Counter32,
       rohcRtpContextPktsLostPreLink   Counter32
   }

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

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

   rohcRtpContextAlwaysPad OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-only

Quittek, Stiemerling, Hartenstein                              [Page 38]
Internet-Draft                  ROHC MIB                    January 2004

       STATUS      current
       DESCRIPTION
           "Boolean, only applicable to compressor contexts using the
            LLA profile.  If its value is true, the compressor must
            pad every RHP packet with a minimum of one octet ROHC
            padding.

            The value of this object is only valid for LLA profiles,
            i.e. if the corresponding rohcProfile has a value of
            0x0005.  If the corresponding rohcProfile has a value
            other than 0x0005, then this object MUST NOT be
            instantiated."
       REFERENCE
           "RFC 3242, Section 5.1.1"
       DEFVAL { false }
       ::= { rohcRtpContextEntry 5 }

   rohcRtpContextLargePktsAllowed OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Boolean, only applicable to compressor contexts using the
            LLA profile.  It specifies how to handle packets that do
            not fit any of the preferred packet sizes specified.  If
            its value is true, the compressor must deliver the larger
            packet as-is and must not use segmentation.  If it is set
            to false, the ROHC segmentation scheme must be used to
            split the packet into two or more segments, and each
            segment must further be padded to fit one of the preferred
            packet sizes.

            The value of this object is only valid for LLA profiles,
            i.e. if the corresponding rohcProfile has a value of
            0x0005.  If the corresponding rohcProfile has a value
            other than 0x0005, then this object MUST NOT be
            instantiated."
       REFERENCE
           "RFC 3242, Section 5.1.1"
       DEFVAL { true }
       ::= { rohcRtpContextEntry 6 }

   rohcRtpContextVerifyPeriod OBJECT-TYPE
       SYNTAX      Unsigned32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object is only applicable to compressor contexts
            using the LLA profile.  It specifies the minimum frequency
            with which a packet validating the context must be sent.

Quittek, Stiemerling, Hartenstein                              [Page 39]
Internet-Draft                  ROHC MIB                    January 2004

            This tells the compressor that a packet containing a CRC
            field must be sent at least once every N packets, where N
            is the value of the object. A value of 0 indicates that
            periodical verifications are disabled.

            The value of this object is only valid for LLA profiles,
            i.e. if the corresponding rohcProfile has a value of
            0x0005.  If the corresponding rohcProfile has a value
            other than 0x0005, then this object MUST NOT be
            instantiated."
       REFERENCE
           "RFC 3242, Section 5.1.1"
       DEFVAL { 0 }
       ::= { rohcRtpContextEntry 7 }

   rohcRtpContextSizesAllowed  OBJECT-TYPE
       SYNTAX      Unsigned32 (1..4294967295)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The value of this object is only valid for decompressor
            contexts, i.e. if rohcInstanceType of the corresponding
            rohcContextEntry has the value decompressor(2).  For
            compressor contexts where rohcInstanceType has the value
            compressor(1), this object MUST NOT be instantiated.

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

   rohcRtpContextSizesUsed  OBJECT-TYPE
       SYNTAX      Unsigned32 (1..4294967295)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The value of this object is only valid for decompressor
            contexts, i.e. if rohcInstanceType of the corresponding
            rohcContextEntry has the value decompressor(2).  For
            compressor contexts where rohcInstanceType has the value
            compressor(1), this object MUST NOT be instantiated.

            This object contains the number of different packet sizes
            that are used in the context."
       REFERENCE
           "RFC 3095, Section 6.3.1"
       ::= { rohcRtpContextEntry 9 }

   rohcRtpContextACKs OBJECT-TYPE

Quittek, Stiemerling, Hartenstein                              [Page 40]
Internet-Draft                  ROHC MIB                    January 2004

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of all positive feedbacks (ACK) sent or
            received in this context, respectively.

            Discontinuities in the value of this counter can
            occur at re-initialization of the management
            system, and at other times as indicated by the
            value of ifCounterDiscontinuityTime.  For checking
            ifCounterDiscontinuityTime, the interface index is
            required.  It can be determined by reading the
            rohcChannelTable of the ROHC-MIB."
       REFERENCE
           "RFC 3095, Section 5.2.1."
       ::= { rohcRtpContextEntry 10 }

   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.

            Discontinuities in the value of this counter can
            occur at re-initialization of the management
            system, and at other times as indicated by the
            value of ifCounterDiscontinuityTime.  For checking
            ifCounterDiscontinuityTime, the interface index is
            required.  It can be determined by reading the
            rohcChannelTable of the ROHC-MIB."
       REFERENCE
           "RFC 3095, Section 5.2.1."
       ::= { rohcRtpContextEntry 11 }

   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.

            Discontinuities in the value of this counter can
            occur at re-initialization of the management
            system, and at other times as indicated by the
            value of ifCounterDiscontinuityTime.  For checking
            ifCounterDiscontinuityTime, the interface index is

Quittek, Stiemerling, Hartenstein                              [Page 41]
Internet-Draft                  ROHC MIB                    January 2004

            required.  It can be determined by reading the
            rohcChannelTable of the ROHC-MIB."
       REFERENCE
           "RFC 3095, Section 5.2.1."
       ::= { rohcRtpContextEntry 12 }

   rohcRtpContextNHPs OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object is only applicable to contexts using the
            LLA profile.  It contains the number of all no-header
            packets (NHP) sent or received in this context,
            respectively.

            Discontinuities in the value of this counter can
            occur at re-initialization of the management
            system, and at other times as indicated by the
            value of ifCounterDiscontinuityTime.  For checking
            ifCounterDiscontinuityTime, the interface index is
            required.  It can be determined by reading the
            rohcChannelTable of the ROHC-MIB.

            The value of this object is only valid for LLA profiles,
            i.e. if the corresponding rohcProfile has a value of
            0x0005.  If the corresponding rohcProfile has a value
            other than 0x0005, then this object MUST NOT be
            instantiated."
       REFERENCE
           "RFC 3242, Section 4.1.1."
       ::= { rohcRtpContextEntry 13 }

   rohcRtpContextCSPs OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object is only applicable to contexts using the
            LLA profile.  It contains the number of all context
            synchronization packets (CSP) sent or received in this
            context, respectively.

            Discontinuities in the value of this counter can
            occur at re-initialization of the management
            system, and at other times as indicated by the
            value of ifCounterDiscontinuityTime.  For checking
            ifCounterDiscontinuityTime, the interface index is
            required.  It can be determined by reading the
            rohcChannelTable of the ROHC-MIB.

Quittek, Stiemerling, Hartenstein                              [Page 42]
Internet-Draft                  ROHC MIB                    January 2004

            The value of this object is only valid for LLA profiles,
            i.e. if the corresponding rohcProfile has a value of
            0x0005.  If the corresponding rohcProfile has a value
            other than 0x0005, then this object MUST NOT be
            instantiated."
       REFERENCE
           "RFC 3242, Section 4.1.2."
       ::= { rohcRtpContextEntry 14 }

   rohcRtpContextCCPs OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object is only applicable to contexts using the
            LLA profile.  It contains the number of all context check
            packets (CCP) sent or received in this context,
            respectively.

            Discontinuities in the value of this counter can
            occur at re-initialization of the management
            system, and at other times as indicated by the
            value of ifCounterDiscontinuityTime.  For checking
            ifCounterDiscontinuityTime, the interface index is
            required.  It can be determined by reading the
            rohcChannelTable of the ROHC-MIB.

            The value of this object is only valid for LLA profiles,
            i.e. if the corresponding rohcProfile has a value of
            0x0005.  If the corresponding rohcProfile has a value
            other than 0x0005, then this object MUST NOT be
            instantiated."
       REFERENCE
           "RFC 3242, Section 4.1.3."
       ::= { rohcRtpContextEntry 15 }

   rohcRtpContextPktsLostPhysical OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object is only applicable to decompressor contexts
            using the LLA profile.  It contains the number of physical
            packet losses on the link between compressor and
            decompressor, that have been indicated to the decompressor.

            Discontinuities in the value of this counter can
            occur at re-initialization of the management
            system, and at other times as indicated by the
            value of ifCounterDiscontinuityTime.  For checking

Quittek, Stiemerling, Hartenstein                              [Page 43]
Internet-Draft                  ROHC MIB                    January 2004

            ifCounterDiscontinuityTime, the interface index is
            required.  It can be determined by reading the
            rohcChannelTable of the ROHC-MIB.

            The value of this object is only valid for LLA profiles,
            i.e. if the corresponding rohcProfile has a value of
            0x0005.  If the corresponding rohcProfile has a value
            other than 0x0005, then this object MUST NOT be
            instantiated."
       REFERENCE
           "RFC 3242, Section 5.1.2."
       ::= { rohcRtpContextEntry 16 }

   rohcRtpContextPktsLostPreLink OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object is only applicable to decompressor contexts
            using the LLA profile.  It contains the number of pre-link
            packet losses on the link between compressor and
            decompressor, that have been indicated to the decompressor.

            Discontinuities in the value of this counter can
            occur at re-initialization of the management
            system, and at other times as indicated by the
            value of ifCounterDiscontinuityTime.  For checking
            ifCounterDiscontinuityTime, the interface index is
            required.  It can be determined by reading the
            rohcChannelTable of the ROHC-MIB.

            The value of this object is only valid for LLA profiles,
            i.e. if the corresponding rohcProfile has a value of
            0x0005.  If the corresponding rohcProfile has a value
            other than 0x0005, then this object MUST NOT be
            instantiated."
       REFERENCE
           "RFC 3242, Section 5.1.2."
       ::= { rohcRtpContextEntry 17 }

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

   rohcRtpPacketSizeTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF RohcRtpPacketSizeEntry
       MAX-ACCESS  not-accessible
       STATUS      current

Quittek, Stiemerling, Hartenstein                              [Page 44]
Internet-Draft                  ROHC MIB                    January 2004

       DESCRIPTION
           "This table lists all allowed, preferred, and used packet
            sizes per compressor context and channel.

            Note, that the sizes table represents implementation
            parameters that are suggested by RFC 3095 and/or RFC 3242,
            but that are not mandatory."
       ::= { rohcRtpObjects 2 }

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

   RohcRtpPacketSizeEntry ::= SEQUENCE {
       rohcRtpPacketSize                Unsigned32,
       rohcRtpPacketSizePreferred       TruthValue,
       rohcRtpPacketSizeUsed            TruthValue,
       rohcRtpPacketSizeRestrictedType  INTEGER
   }

   rohcRtpPacketSize OBJECT-TYPE
       SYNTAX      Unsigned32 (1..4294967295)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A packet size used as index."
       ::= { rohcRtpPacketSizeEntry 3 }

   rohcRtpPacketSizePreferred OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object is only applicable to compressor contexts
            using the LLA profile.  When retrieved, it will have
            the value true(1) if the packet size is preferred.
            Otherwise, its value will be false(2).

            The value of this object is only valid for LLA profiles,
            i.e. if the corresponding rohcProfile has a value of
            0x0005.  If the corresponding rohcProfile has a value

Quittek, Stiemerling, Hartenstein                              [Page 45]
Internet-Draft                  ROHC MIB                    January 2004

            other than 0x0005, then this object MUST NOT be
            instantiated."
       REFERENCE
            "RFC 3242, Section 5.1.1"
       ::= { rohcRtpPacketSizeEntry 4 }

   rohcRtpPacketSizeUsed OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object is only applicable to compressor contexts
            using the UDP, RTP, or ESP profile.  When retrieved,
            it will have the value true(1) if the packet size is
            used.  Otherwise, its value will be false(2).

            The value of this object is only valid for UDP, RTP,
            and ESP profiles, i.e. if the corresponding rohcProfile
            has a value of either 0x0001, 0x0002 or 0x0003.  If
            the corresponding rohcProfile has a value other than
            0x0001, 0x0002 or 0x0003, then this object MUST NOT be
            instantiated."
       REFERENCE
            "RFC 3095, Section 6.3.1"
       ::= { rohcRtpPacketSizeEntry 5 }

   rohcRtpPacketSizeRestrictedType OBJECT-TYPE
       SYNTAX      INTEGER {
                       nhpOnly(1),
                       rhpOnly(2),
                       noRestrictions(3)
                   }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object is only applicable to preferred packet
            sizes of compressor contexts using the LLA profile.
            When retrieved, it will indicate whether the packet
            size is preferred for NHP only, for RHP only, or
            for both of them.

            The value of this object is only valid for LLA profiles,
            i.e. if the corresponding rohcProfile has a value of
            0x0005.  If the corresponding rohcProfile has a value
            other than 0x0005, then this object MUST NOT be
            instantiated."
       REFERENCE
            "RFC 3242, Section 5.1.1"
       ::= { rohcRtpPacketSizeEntry 6 }

Quittek, Stiemerling, Hartenstein                              [Page 46]
Internet-Draft                  ROHC MIB                    January 2004

   --
   -- 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-RTP-MIB.

            Note that compliance with this compliance
            statement requires compliance with the
            rohcCompliance MODULE-COMPLIANCE statement of the
            ROHC-MIB and with the ifCompliance3 MODULE-COMPLIANCE
            statement of the IF-MIB (RFC2863)."
       MODULE      -- this module
       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,
           rohcRtpContextAlwaysPad,
           rohcRtpContextLargePktsAllowed,
           rohcRtpContextVerifyPeriod
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects providing information about
            ROHC RTP compressors and decompressors."
       ::= { rohcRtpGroups 1 }

Quittek, Stiemerling, Hartenstein                              [Page 47]
Internet-Draft                  ROHC MIB                    January 2004

   rohcRtpPacketSizesGroup OBJECT-GROUP
       OBJECTS {
           rohcRtpContextSizesAllowed,
           rohcRtpContextSizesUsed,
           rohcRtpPacketSizePreferred,
           rohcRtpPacketSizeUsed,
           rohcRtpPacketSizeRestrictedType
       }
       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,
           rohcRtpContextNHPs,
           rohcRtpContextCSPs,
           rohcRtpContextCCPs,
           rohcRtpContextPktsLostPhysical,
           rohcRtpContextPktsLostPreLink
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects providing ROHC compressor and
            decompressor statistics."
       ::= { rohcRtpGroups 3 }

   END

Quittek, Stiemerling, Hartenstein                              [Page 48]
Internet-Draft                  ROHC MIB                    January 2004

6.  Security Considerations

   The managed objects defined by the ROHC-MIB module, the ROHC-
   UNCOMPRESSED-MIB module and the ROHC-RTP-MIB module do not have a
   MAX-ACCESS value of read-write and/or read-create except
   rohcInstanceContextStorageTime and rohcContextStorageTime, both of
   which have a MAX-ACCESS value of read-write.  These objects determine
   how long context information is stored after its termination.
   Unauthorized access to these objects can have one of two negative
   effects.  If they are set to a value lower than required, e.g. to
   zero, then context information about past contexts might get lost.
   If they are set to a very high value, then context information will
   not be deleted and memory consumption of the agent implementation
   might become very high.  However, unauthorized access to these
   objects cannot cause harm to existing ROHC connections nor can it
   allow manipulation of running instances of ROHC in a malicious way.

   Another security issue is unauthorized access to readable objects in
   the MIB modules for getting information about existing communication
   sessions.  It is thus important to control even GET and/or NOTIFY
   access to these objects and possibly to even encrypt the values of
   these objects when sending them over the network via SNMP.  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.

   SNMP versions prior to SNMPv3 did not include adequate security.
   Even if the network itself is secure (for example by using IPSec),
   even then, there is no control as to who on the secure network is
   allowed to access and GET/SET (read/change/create/delete) the objects
   in this MIB module.

   It is RECOMMENDED that implementers consider the security features as
   provided by the SNMPv3 framework (see [RFC3410], section 8),
   including full support for the SNMPv3 cryptographic mechanisms (for
   authentication and privacy).

   Further, deployment of SNMP versions prior to SNMPv3 is NOT
   RECOMMENDED.  Instead, it is RECOMMENDED to deploy SNMPv3 and to
   enable cryptographic security.  It is then a customer/operator
   responsibility to ensure that the SNMP entity giving access to an
   instance of this MIB module is properly configured to give access to
   the objects only to those principals (users) that have legitimate
   rights to indeed GET or SET (change/create/delete) them.

Quittek, Stiemerling, Hartenstein                              [Page 49]
Internet-Draft                  ROHC MIB                    January 2004

7.  Acknowledgements

   Many thanks to Lars-Erik Jonsson and Mark West for their guidance
   through the ROHC world and to Ghyslain Pelletier for explaining how
   the ROHC LLA profile works.  Further thanks to Frank Strauss for his
   advice on tricky SMI issues.  Special thanks to Mike Heard who acted
   as MIB doctor.  He studied every tiny detail, raised a long list of
   issues and helped to significantly improve this document.

8.  Normative References

[RFC3095]   Bormann, C., Burmeister, C., Degermark, M., Fukushima, H.,
            Hannu, H., Jonsson, L., Hakenberg, R., Koren, T., Le, K.,
            Liu, Z., Martensson, A., Miyazaki, A., Svanbro, K., Wiebke,
            T., Yoshimura, T. and H. Zheng, "RObust Header Compression
            (ROHC): Framework and four profiles: RTP, UDP, ESP, and
            uncompressed", RFC 3095, July 2001.

[RFC3242]   Jonsson, L., and G. Pelletier, "RObust Header Compression
            (ROHC): A Link-Layer Assisted Profile for IP/UDP/RTP", RFC
            3242, April 2002.

[RFCXXXX]   L. Jonsson, "RObust Header Compression (ROHC): Terminology
            and Channel Mapping Examples", RFC XXXX, YYYYmonth 2004,
            <draft-ietf-rohc-terminology-and-examples-02.txt>.

[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
            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.

[RFC3411]   Harrington, D., Presuhn, R. and B. Wijnen, "An Architecture
            for Describing Simple Network Management Protocol (SNMP)
            Management Frameworks", STD 62, RFC 3411, December 2002.

[RFC2863]   McCloghrie, K. and F. Kastenholz, "The Interfaces Group
            MIB", RFC 2863, June 2000.

Quittek, Stiemerling, Hartenstein                              [Page 50]
Internet-Draft                  ROHC MIB                    January 2004

9.  Informative References

[RFC3410]   Case, J., Mundy, R., Partain, D. and B. Stewart,
            "Introduction and Applicability Statements for Internet-
            Standard Management Framework", RFC 3410, December 2002.

10.  Authors' Addresses

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

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

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

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

     Hannes Hartenstein
     University of Karlsruhe
     Computing Center and Institute of Telematics
     76128 Karlsruhe
     Germany

     Phone: +49 721 608 8104
     E-mail: hartenstein@rz.uni-karlsruhe.de

Quittek, Stiemerling, Hartenstein                              [Page 51]
Internet-Draft                  ROHC MIB                    January 2004

11.  IPR Notices

   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
   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.

12.  Full Copyright Statement

   Copyright (C) The Internet Society (2004). 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 implmentation 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, Stiemerling, Hartenstein                              [Page 52]