-- extracted from rfc3816.txt
-- at Wed Jun  9 06:20:56 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;                                -- [RFC3816]

   rohcRtpMIB MODULE-IDENTITY
       LAST-UPDATED "200406030000Z"  -- June 3, 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@netlab.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). The
            initial version of this MIB module was published
            in RFC 3816. For full legal notices see the RFC
            itself or see:
            http://www.ietf.org/copyrights/ianamib.html"

       REVISION    "200406030000Z"  -- June 3, 2004
       DESCRIPTION "Initial version, published as RFC 3816."
       ::= { mib-2 114 }

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

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

   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

-- 
--    Copyright (C) The Internet Society (2004).  This document is subject
--    to the rights, licenses and restrictions contained in BCP 78, and
--    except as set forth therein, the authors retain all their rights.
-- 
--    This document and the information contained herein are provided on an
--    "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
--    OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
--    ENGINEERING TASK FORCE DISCLAIM 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.
-- 
-- Intellectual Property
-- 
--    The IETF takes no position regarding the validity or scope of any
--    Intellectual Property Rights 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; nor does it represent that it has
--    made any independent effort to identify any such rights.  Information
--    on the procedures with respect to rights in RFC documents can be
--    found in BCP 78 and BCP 79.
-- 
--    Copies of IPR disclosures made to the IETF Secretariat 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 implementers or users of this
--    specification can be obtained from the IETF on-line IPR repository at
--    http://www.ietf.org/ipr.
-- 
--    The IETF invites any interested party to bring to its attention any
--    copyrights, patents or patent applications, or other proprietary
--    rights that may cover technology that may be required to implement
--    this standard.  Please address the information to the IETF at ietf-
--    ipr@ietf.org.
-- 

