home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Internet Info 1997 December
/
Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso
/
drafts
/
draft_ietf_a_c
/
draft-ietf-avt-rtp-mib-00.txt
< prev
next >
Wrap
Text File
|
1997-03-26
|
47KB
|
1,451 lines
Internet Draft RTP MIB March 24, 1997
Real-Time Transport Protocol
Management Information Base
<draft-ietf-avt-rtp-mib-00.txt>
March 24, 1997
Mark Baugher
Intel Corporation
2111 N.E.25th Avenue
Hillsboro, Oregon 97124
mbaugher@ibeam.intel.com
John Du
Intel Corporation
2111 N.E.25th Avenue
Hillsboro, Oregon 97124
John_Du@ccm.jf.intel.com
Stan Naudus
U.S. Robotics, Incorporated
2070 Chain Bridge Road
Vienna, Virginia
snaudus@usrva.co
1. Status of this Memo
This document is an Internet-Draft. 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. Internet-Drafts may be updated, replaced, or made
obsolete by other documents at any time. It is not
appropriate to use Internet-Drafts as reference material or to
cite them other than as a ``working draft'' or ``work in
progress.''
To learn the current status of any Internet-Draft, please
check the 1id-abstracts.txt listing contained in the Internet-
Drafts Shadow Directories on ds.internic.net, nic.nordu.net,
venera.isi.edu, or munnari.oz.au.
Baugher, Du, Naudus Expires September 24, 1997 [Page 1]
Internet Draft RTP MIB March 24, 1997
2. Abstract
This memo defines an experimental Management Information Base
(MIB) for use with network management protocols in
TCP/IP-based internets. In particular, it defines objects for
managing Real-Time Transport Protocol Systems [1]. Comments
should be made to the IETF Audio/Video Transport Working Group.
This memo does not specify a standard for the Internet
community.
3. The Network Management Framework
The SNMPv2 Network Management Framework consists of the
following major components:
RFC 1902 which defines the SMI, the mechanisms used for
describing and naming objects for the purpose of management.
RFC 1903 Textual Conventions for Version 2 of the Simple
Network Management Protocol (SNMPv2).
RFC 1904 Conformance Statements for Version 2 of the
Simple Network Management Protocol (SNMPv2).
RFC 1905 Protocol Operations for Version 2 of the
Simple Network Management Protocol (SNMPv2).
RFC 1906 Transport Mappings for Version 2 of the
Simple Network Management Protocol (SNMPv2).
RFC 1907 Management Information Base for Version 2 of
the Simple Network Management Protocol (SNMPv2).
RFC 1908 Coexistence between Version 1 and Version 2 of
the Internet-standard Network Management Framework.
The Framework permits new objects to be defined for the
purpose of experimentation and evaluation.
Managed objects are accessed via a virtual information store,
termed the Management Information Base or MIB. Within a given
MIB module, objects are defined using the SMI's OBJECT-TYPE
macro[2]. At a minimum, each object has a name, a syntax, an
access-level, and an implementation-status.
Baugher, Du, Naudus Expires September 24, 1997 [Page 2]
Internet Draft RTP MIB March 24, 1997
The name is an object identifier, an administratively assigned
name, which specifies an object type. The object type
together with an object instance serves to uniquely identify a
specific instantiation of the object. For human convenience,
we often use a textual string, termed the object descriptor,
to also refer to the object type.
The syntax of an object type defines the abstract data
structure corresponding to that object type. The ASN.1[3]
language is used for this purpose. However, RFC 1902
purposely restricts the ASN.1 constructs which may be used.
These restrictions are made for simplicity.
The access-level of an object type defines whether it makes
"protocol sense" to read and/or write the value of an instance
of the object type. (This access-level is independent of any
administrative authorization policy.)
The implementation-status of an object type indicates whether
the object is mandatory, optional, obsolete, or deprecated.
4. Overview
An "RTP System" is an end-system or an intermediate-system that
has one or more RTP Sessions with one or more RTP Data Streams.
Each RTP Data Stream is either being transmitted or received by
one RTP Session Participant. An RTP Control Stream (RTCP)
which describes an RTP Data Stream that is being transmitted or
received is sent on behalf of each Participant[1].
4.1 Components
There are four component objects of the RTP MIB.
4.1.1 An "RTP Session" is defined by an IP address and a pair of
transport-layer port numbers, this is a "Session Address". There
is one Session Address for a multicast session and two for unicast.
4.1.2 An "RTP Data Stream" is a sequence of packets sent to the
even-numbered port of the RTP Session when UDP is used to transport
the RTP data. Data streams are uniquely identified within an RTP
Session by "SSRC" attributes.
4.1.3 An RTP "Participant" is either a source or a receiver of
an RTP Data Stream, and has a session-unique "CNAME" attribute.
Baugher, Du, Naudus Expires September 24, 1997 [Page 3]
Internet Draft RTP MIB March 24, 1997
4.1.4 An "RTP Control Stream" is a sequence of packets sent by
the sending host of an RTP Data Stream, or a sequence of
packets sent by the receiving host of an RTP Data Stream that
describe the RTP Data Stream attributes, state, and statistics.
4.2 Applicability of the MIB to RTP System Implementations
The RTP MIB may be used in four types of RTP Systems [1].
4.2.1 RTP host-systems are end-systems that may use the RTP MIB
to collect RTP Session and Stream data; these data may be used
by a network manager to diagnose faults that occur during or after
the commencement of an RTP Session as in a "help-desk" scenario.
4.2.2 RTP 3rd-party Monitors of multicast RTP sessions are
end-systems that may use the RTP MIB to collect RTP Session
and Stream statistical data; these data may be used by a Network
Manager for capacity planning and other network-management purposes.
An RTP Monitor may also use the RTP MIB to collect data to permit a
network manager to diagnose faults in RTP sessions, or to permit a
network manger to configure the Monitor.
4.2.3 RTP Translators are intermediate-systems that map RTP sessions
onto other RTP sessions for such purposes as address translation
and the transcoding of RTP session data. An RTP Translator may use
the RTP MIB to collect session and stream data needed by a network
manager to diagnose faults and monitor performance.
4.2.4 RTP Mixers are specialized Translators that multiplex RTP
session data. The RTP MIB may be used to support management
of a Mixer in ways similar to a Translator.
4.3 The Structure of the RTP MIB
There are two modules in the RTP MIB: The RTP-SYSTEM module
is used for all RTP Systems, but the RTP-IS module is designed
for RTP Monitors and Intermediate Systems such as Translators
and Mixers. There are two tables in RTP-SYSTEM and three tables in
RTP-IS.
RTP-SYSTEM Tables:
rtpInTable
rtpEgTable
Baugher, Du, Naudus Expires September 24, 1997 [Page 4]
Internet Draft RTP MIB March 24, 1997
The attribute, state and statistical information of the components
described in section 4.1 compose the column objects of the tables.
Since there are 1:N mappings between some of the components, a
more structured and efficient representation would create separate
tables for some of the components, such as a Session table, and this
would make some streams table columns redundant (i.e., obtainable
through a join). The two-table model is proposed here for the sake
of simplicity in the management entity and management application.
rtpEgTable is the egress streams table that will contain rows of
information about streams being sent by an RTP System. The
rtpInTable is the ingress streams table that will contain rows of
information about streams being received by an RTP System. The
rows are uniquely identified by the incoming session address, in
the case of ingress streams, or the outgoing RTP session address
in the egress streams case, Section 4.1.1, and by the SSRC
information, Section 4.1.2. The information in the table includes
the information from the RTCP reports, Section 4.1.4. The ingress
streams table also contains information used for loop detection[1].
In a host, Translator or Mixer, a row is maintained in the rtpInTable
for each RTP data stream that is being received, and a row is to be
maintained in the rtpEgTable for each RTP data stream that is being
sent. In a 3rd-party Monitor, the rtpEgTable contains management
information about streams being sent to the session, and the rtpInTable
contains information about streams being received for the session. A
row is removed when the session inactive time exceeds the session
timeout value[1], as a result of an RTCP BYE message being sent for the
ingress or egress stream, or as a result of some higher-level protocol
stopping stream or session operations. The rtpEgTable and the
rtpInTable are read-only, though one RTP-IS table, the rtpSessionTable,
does feature write access.
RTP-IS Tables:
rtpSessionTable
rtpSessionIndexTable
rtpSessionMapTable
The RTP-IS tables maintain the list of RTP sessions, provide a means
to obtain an index to each RTP session in the rtpSessionTable, and
to support a trace of mapped sessions. The network manager has write
access to the rtpSessionTable to create sessions for the purpose of
monitoring.
Baugher, Du, Naudus Expires September 24, 1997 [Page 5]
Internet Draft RTP MIB March 24, 1997
4.4 SNMP Implementations
Although an RTP System that runs either a single application or
multiple applications with a single management-entity may be a
practical configuration for monitoring, translating or mixing, for
host end-systems (i.e. the vast majority of RTP implementations),
such a "monolithic" solution may be inadequate if management of
RTP end-systems proves to be truly useful. The RTP-SYSTEM module
described in 4.3 contains tables that may be shared among RTP
application programs that run concurrently on the same device.
Sharing occurs on a table basis, and this is a complication. Rows
in the RTP MIB tables, however, probably do not need to be shared
among multiple RTP application programs since each row is uniquely
identified by RTP Session and SSRC pairs which are not shared among
RTP application programs, or at least by a single RTP management entity
by assumption. Table sharing, however, is a problem for SNMP management
entities: All SNMP management requests are sent to UDP Port 161, and
special procedures are generally needed for an SNMP Agent to support
multiple management entities that share the object name space[4].
+------------------------+ +------------------------+
| +-----------------+| | +-----------------+|
| | +----------+|| | | +----------+||
| APP | RTP | SUBAGENT ||| ... | APP | RTP | SUBAGENT |||
| | +----------+|| | | +----------+||
| +-----------------+| | +-----------------+|
+------------------------+ +------------------------+
-- e.g., flavors of DPI[5], AgentX[6] --
+--------------------------+
| |
| SNMP AGENT |
| |
+--------------------------+
-- UDP Port 161 --
Figure 1: Relationship of Application RTP Subagent to SNMP Agent
Thus, some means are needed so that operations against RTP MIB
objects in a shared name space can be properly routed and received by
the SNMP Agent. Figure 1 shows multiple application programs having
RTP embedded in them. Not shown is the management entity, which is
assumed to be part of the RTP System. A "Subagent" may be embedded in
Baugher, Du, Naudus Expires September 24, 1997 [Page 6]
Internet Draft RTP MIB March 24, 1997
the application program, or linked to the application program's
management entity in a variety of ways that are not of interest to this
memo. A straightforward implementation would embed the subagent in the
application program as shown in Figure 1. There is one Experimental
approach, DPI[5], and some ongoing work, named "Agentx"[6], for
supporting the structure shown in Figure 1.
The agent extensions needed to support the RTP MIB in a general-purpose
operating environment may be modest if the four assumptions listed
below prove to be true.
4.4.1 The ingress and egress stream tables may be shared. Any
RTP application program may have zero or more streams being sent
and/or received, but stream-table rows are uniquely-identified by a
combination of session and SSRC index values that are not shared across
RTP management entities.
4.4.2 Since the ingress and egress stream tables are read-only, there
are no requirements to support concurrent SNMP SET operations.
4.4.3 The session tables in RTP-IS in section 4.3, are not shared
by multiple subagents by assumption.
4.4.4 There is no need to share table indices or support intra-subagent
communication given the RTP-SYSTEM MIB described in sections 4.3 and
defined in 5.0.
4.5 Proxy Implementations
An "RTP management proxy" may map the RTP MIB onto other management
systems: A variety of management systems beyond SNMP may be make use of
the RTP MIB to support SNMP management queries. A relatively simple
definition of the RTP MIB should make it relatively easier to implement
on a variety of systems-management platforms.
Baugher, Du, Naudus Expires September 24, 1997 [Page 7]
Internet Draft RTP MIB March 24, 1997
5. RTP MIB Definitions
5.1 RTP-SYSTEM MODULE
-- rtp.mi2 contains an experimental SMIv2 MIB for RTP (RFC 1889).
-- rtp.mi2 has two modules
-- 1. RTP-SYSTEM
-- 2. RTP-IS
--
-- *****************
-- RTP-SYSTEM MODULE
-- *****************
RTP-SYSTEM DEFINITIONS ::= BEGIN
IMPORTS
Counter32, experimental, Gauge32,MODULE-IDENTITY,
OBJECT-IDENTITY, OBJECT-TYPE
FROM SNMPv2-SMI
OBJECT-GROUP, MODULE-COMPLIANCE
FROM SNMPv2-CONF;
rtpSystem MODULE-IDENTITY
LAST-UPDATED "9703241800Z"
ORGANIZATION "IETF AVT Working Group"
CONTACT-INFO
" Mark Baugher
Postal: Intel Corporation
2111 NE 25th Avenue
Hillsboro, OR 97124
Tel: +1 503 264 3849
Email: mbaugher@intel.com"
DESCRIPTION
"The MIB module that describes managed objects of
general use by RTP Systems. This module has two
tables of information about RTP streams.
1. A information table about RTP streams being sent to
a session by a particular source.
2. A table of information about RTP streams received
by a particular SSRC."
::= { experimental 9999 1 }
rtp OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The root of RTP Object-identifiers."
::= { experimental 9999 }
Baugher, Du, Naudus Expires September 24, 1997 [Page 8]
Internet Draft RTP MIB March 24, 1997
--
-- OBJECTS
--
-- Stream Tables:
-- Egress streams are sourced by an RTP System to an RTP Session.
-- Ingress Streams are received by an SSRC from an RTP Session.
-- Egress and Ingress Streams have distinct state and attributes
--
-- EGRESS STREAMS TABLE
-- An RTP System sources zero or more Egress Streams to a Session
--
rtpEgTable OBJECT-TYPE
SYNTAX SEQUENCE OF RtpEgEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Data in rtpEgTable are associated with an RTP
data-stream that is sourced from an RTP System. This
table will at least contain a row for each stream being
sourced (egress stream) from the local RTP System."
::= { rtpSystem 1 }
rtpEgEntry OBJECT-TYPE
SYNTAX RtpEgEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Columnar objects include Egress Stream state,
attributes and statistics from the RTP packet header,
RTCP SR PDU, and RTCP SDES PDU. Table rows cannot be
created nor deleted via SNMP operations."
INDEX { rtpEgNetAddr, rtpEgPort, rtpEgSSRC }
::= { rtpEgTable 1 }
RtpEgEntry ::= SEQUENCE {
rtpEgNetAddr OCTET STRING (SIZE(4..16)),
rtpEgPort INTEGER(1..65535),
rtpEgSSRC INTEGER,
rtpEgCNAME OCTET STRING,
rtpEgPT INTEGER,
rtpEgSentPackets Counter32,
rtpEgSentOctets Counter32,
rtpEgTool OCTET STRING,
rtpEgInactiveTime Gauge32
}
Baugher, Du, Naudus Expires September 24, 1997 [Page 9]
Internet Draft RTP MIB March 24, 1997
rtpEgNetAddr OBJECT-TYPE
SYNTAX OCTET STRING (SIZE(4..16))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Session destination network address attribute."
::= { rtpEgEntry 1}
rtpEgPort OBJECT-TYPE
SYNTAX INTEGER(1..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Session destination transport address attribute."
::= { rtpEgEntry 2}
rtpEgSSRC OBJECT-TYPE
SYNTAX INTEGER(1..4294967295)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Attribute uniquely identifies the stream sender."
::= { rtpEgEntry 3}
rtpEgCNAME OBJECT-TYPE
SYNTAX OCTET STRING (SIZE(1..128))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Attribute uniquely identifies the SSRC participant"
::= { rtpEgEntry 4}
rtpEgPT OBJECT-TYPE
SYNTAX INTEGER (1..128)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Static or dynamic Payload Type state variable from
the RTP header."
::= { rtpEgEntry 5}
Baugher, Du, Naudus Expires September 24, 1997 [Page 10]
Internet Draft RTP MIB March 24, 1997
rtpEgSentPackets OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count statistic of packets sent from this SSRC."
::= { rtpEgEntry 6}
rtpEgSentOctets OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Count statistic of octets sent from this SSRC."
::= { rtpEgEntry 7 }
rtpEgTool OBJECT-TYPE
SYNTAX OCTET STRING (SIZE(1..128))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"State variable names the tool sourcing the stream."
::= { rtpEgEntry 8 }
rtpEgInactiveTime OBJECT-TYPE
SYNTAX Gauge32
UNITS "milliseconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Elapsed time since last stream packet."
::= { rtpEgEntry 9 }
Baugher, Du, Naudus Expires September 24, 1997 [Page 11]
Internet Draft RTP MIB March 24, 1997
--
-- INGRESS STREAMS TABLE
-- RTP System has zero or more Ingress Streams per RTP Session.
-- RTP Streams are received from multiple RTP Session senders,
-- Multiple, local participants may receive a given RTP Stream.
-- Each stream received by a Participant is an Ingress Stream row.
-- This table contains RTCP RR, RFC 1989 "loop list" information.
rtpInTable OBJECT-TYPE
SYNTAX SEQUENCE OF RtpInEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Data in the rtpInTable identify the stream and session,
state and statistics, and include information needed by
an RTP receiver to detect loops. This table will at
least contain a row for each stream being received
(ingress stream) by some SSRC on the local RTP System."
::= { rtpSystem 2 }
rtpInEntry OBJECT-TYPE
SYNTAX RtpInEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An rtpInTable entry uniquely identifies an RTP
Data Stream received by an RTP receiver/Participant.
There is an rtpInEntry for each stream received
by the local RTP System. Columnar objects describe
state, attributes and statistics from the RTP packet
header, RTCP RR PDU, and RTCP SDES PDU. Table rows
cannot be created nor deleted via SNMP operations."
INDEX { rtpInNetAddr, rtpInPort,
rtpInLocalSSRC, rtpInRemoteSSRC }
::= { rtpInTable 1 }
Baugher, Du, Naudus Expires September 24, 1997 [Page 12]
Internet Draft RTP MIB March 24, 1997
RtpInEntry ::= SEQUENCE {
rtpInNetAddr OCTET STRING (SIZE(4..16)),
rtpInPort INTEGER(1..65535),
rtpInLocalSSRC INTEGER,
rtpInRemoteSSRC INTEGER,
rtpInRemoteCNAME OCTET STRING,
rtpInPT INTEGER,
rtpInRemoteAddr OCTET STRING (SIZE(4..16)),
rtpInRemotePort INTEGER(1..65535),
rtpInFracLost Gauge32,
rtpInLostPackets Counter32,
rtpInOctets Counter32,
rtpInTool OCTET STRING,
rtpInInactiveTime Gauge32
}
rtpInNetAddr OBJECT-TYPE
SYNTAX OCTET STRING (SIZE(4..16))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The Network Address of a multicast RTP Session, or
the Network Address of this end of a unicast RTP
Session (remote end is rtpInRemoteAddr)."
::= { rtpInEntry 1}
rtpInPort OBJECT-TYPE
SYNTAX INTEGER(1..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The transport-layer port of a multicast RTP Session,
or the transport-layer port of this end of a unicast
RTP Session (remote is rtpInRemotePort)."
::= { rtpInEntry 2}
rtpInLocalSSRC OBJECT-TYPE
SYNTAX INTEGER(1..4294967295)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Identifies receiver/participant."
::= { rtpInEntry 3}
Baugher, Du, Naudus Expires September 24, 1997 [Page 13]
Internet Draft RTP MIB March 24, 1997
rtpInRemoteSSRC OBJECT-TYPE
SYNTAX INTEGER(1.. 4294967295)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"identifies remote sender/participant."
::= { rtpInEntry 4 }
rtpInPT OBJECT-TYPE
SYNTAX INTEGER(1..128)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Payload Type state variable."
::= { rtpInEntry 5 }
rtpInRemoteCNAME OBJECT-TYPE
SYNTAX OCTET STRING (SIZE(1..128))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"attribute uniquely identifies receiver/participant."
::= { rtpInEntry 6 }
rtpInRemoteAddr OBJECT-TYPE
SYNTAX OCTET STRING (SIZE(4..16))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The Network Address of the stream source."
::= { rtpInEntry 7 }
rtpInRemotePort OBJECT-TYPE
SYNTAX INTEGER(1..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The source transport-layer port of this streams."
::= { rtpInEntry 8 }
Baugher, Du, Naudus Expires September 24, 1997 [Page 14]
Internet Draft RTP MIB March 24, 1997
rtpInFracLost OBJECT-TYPE
SYNTAX Gauge32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Statistic identifies the fraction of lost packets in
the receive stream relative to the total packets."
::= { rtpInEntry 9 }
rtpInLostPackets OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Statistic identifies the total number of packets
lost from the receive stream."
::= { rtpInEntry 10 }
rtpInOctets OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Statistic total of the number of octets received on
the receive stream."
::= { rtpInEntry 11 }
rtpInTool OBJECT-TYPE
SYNTAX OCTET STRING (SIZE(1..128))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"optional tool identifier state variable."
::= { rtpInEntry 12 }
rtpInInactiveTime OBJECT-TYPE
SYNTAX Gauge32
UNITS "milliseconds"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Elapsed time since last stream packet."
::= { rtpInEntry 13 }
Baugher, Du, Naudus Expires September 24, 1997 [Page 15]
Internet Draft RTP MIB March 24, 1997
--
-- GROUPS
--
rtpSystemGroup OBJECT-GROUP
OBJECTS {
rtpEgNetAddr,
rtpEgPort,
rtpEgSSRC,
rtpEgCNAME,
rtpEgPT,
rtpEgSentPackets,
rtpEgSentOctets,
rtpEgTool,
rtpEgInactiveTime,
rtpInLocalSSRC,
rtpInRemoteSSRC,
rtpInNetAddr,
rtpInPort,
rtpInRemoteCNAME,
rtpInPT,
rtpInRemoteAddr,
rtpInRemotePort,
rtpInFracLost,
rtpInLostPackets,
rtpInOctets,
rtpInTool,
rtpInInactiveTime
}
STATUS current
DESCRIPTION
"Objects used to define RTP streams."
::= { rtpSystem 9 }
Baugher, Du, Naudus Expires September 24, 1997 [Page 16]
Internet Draft RTP MIB March 24, 1997
rtpSystemCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION "All objects are mandatory with the
the exceptions listed below."
MODULE RTP-SYSTEM
MANDATORY-GROUPS { rtpSystemGroup }
OBJECT rtpInPT
MIN-ACCESS not-accessible
DESCRIPTION "This object is not always
obtainable, and is optional"
OBJECT rtpInTool
MIN-ACCESS not-accessible
DESCRIPTION "This object is not always
obtainable, and is optional"
OBJECT rtpEgPT
MIN-ACCESS not-accessible
DESCRIPTION "This object is not always
obtainable, and is optional"
OBJECT rtpEgTool
MIN-ACCESS not-accessible
DESCRIPTION "This object is not always
obtainable, and is optional"
::= { rtpSystem 10 }
END
Baugher, Du, Naudus Expires September 24, 1997 [Page 17]
Internet Draft RTP MIB March 24, 1997
-- ******
-- RTP-IS
-- ******
RTP-IS DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE
FROM SNMPv2-SMI
RowStatus
FROM SNMPv2-TC
OBJECT-GROUP, MODULE-COMPLIANCE
FROM SNMPv2-CONF
rtp
FROM RTP-SYSTEM;
rtpIS MODULE-IDENTITY
LAST-UPDATED "9703241800Z"
ORGANIZATION "IETF AVT Working Group."
CONTACT-INFO
" Mark Baugher
Postal: Intel Corporation
2111 NE 25th Avenue
Hillsboro, OR 97124
Tel: +1 503 264 3849
Email: mbaugher@intel.com"
DESCRIPTION
"The MIB module for use by Real-Time Transport Protocol
Intermediate-Systems, such as Translators and Mixers,
and by RTP 3rd-party multicast monitors."
::= { rtp 2 }
--
-- SESSION TABLE
-- There's a row instance for each RTP Session on an RTP System
--
rtpSessionTable OBJECT-TYPE
SYNTAX SEQUENCE OF RtpSessionEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"There's one entry in the SessionTable for each Session
that has a corresponding egress or ingress stream.
Row creation has the side effect of causing the RTP
System to join the session for the purposes of gathering
management information."
::= { rtpIS 1 }
Baugher, Du, Naudus Expires September 24, 1997 [Page 18]
Internet Draft RTP MIB March 24, 1997
rtpSessionEntry OBJECT-TYPE
SYNTAX RtpSessionEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Data in rtpSessionTable either uniquely identify an RTP
session, or are attributes, statistics, or state
associated with an RTP session. Rows of the
rtpSessionTable can be created and deleted via SNMP
operations."
INDEX { rtpSessionIndex }
::= { rtpSessionTable 1 }
RtpSessionEntry ::= SEQUENCE {
rtpSessionIndex INTEGER(1..65535),
rtpSessionAddr OCTET STRING (SIZE(4..16)),
rtpSessionPort INTEGER(1..65535),
rtpSessionIf OCTET STRING (SIZE(4..16)),
rtpSessionOwner OCTET STRING (SIZE(64)),
rtpSessionRowStatus RowStatus
}
rtpSessionIndex OBJECT-TYPE
SYNTAX INTEGER(1..65535)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Specifies the value of the rtpSessionTable index."
::= { rtpSessionEntry 1}
rtpSessionAddr OBJECT-TYPE
SYNTAX OCTET STRING (SIZE(4..16))
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The destination IP address of RTP Session streams."
::= { rtpSessionEntry 2}
rtpSessionPort OBJECT-TYPE
SYNTAX INTEGER(1..65535)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The destination transport-layer port of RTP Session
streams; this is the even port of the even-odd pair
when UDP is used as the transport for RTP streams."
::= { rtpSessionEntry 3}
Baugher, Du, Naudus Expires September 24, 1997 [Page 19]
Internet Draft RTP MIB March 24, 1997
rtpSessionIf OBJECT-TYPE
SYNTAX OCTET STRING (SIZE(4..16))
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The local interface network address where RTP
data packets are sent and received for session."
::= { rtpSessionEntry 4}
rtpSessionOwner OBJECT-TYPE
SYNTAX OCTET STRING(SIZE(64))
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This manager created the session. Other managers
wishing to monitor the session defined by the tuple
<session-net-addr, session-port, interface>, cannot do
so until this manager destroys the particular row; these
semantics are forced by the 1:1 mapping of the row index
to the session tuple enforced by rtpSessionIndexTable."
::= { rtpSessionEntry 5 }
rtpSessionRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Session entries can be created by a manager."
::= { rtpSessionEntry 6}
--
-- SESSION INDEX QUERY
--
rtpSessionIndexTable OBJECT-TYPE
SYNTAX SEQUENCE OF RtpSessionIndexEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Management entity stores the rtpSessionIndex into
a row of this table when an rtpSessionTable row is mapped
to another rtpSessionTable row by some non-RTP means.
Manager can use this index to access rtpSessionTable
entries ordered by Session address and interface."
::= {rtpIS 2 }
Baugher, Du, Naudus Expires September 24, 1997 [Page 20]
Internet Draft RTP MIB March 24, 1997
rtpSessionIndexEntry OBJECT-TYPE
SYNTAX RtpSessionIndexEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"One column only to store the rtpSessionIndex of
the rtpSessionTable. Rows cannot be created, written
nor destroyed by a manager."
INDEX { rtpSessionAddr, rtpSessionPort, rtpSessionIf }
::= { rtpSessionIndexTable 1 }
RtpSessionIndexEntry ::= SEQUENCE {
rtpSessionIndexValue INTEGER(1..65535)
}
rtpSessionIndexValue OBJECT-TYPE
SYNTAX INTEGER(1..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Instance of rtpSessionIndex corresponds 1:1 with
{rtpSessionAddr,rtpSessionPort,rtpSessionIf}."
::= { rtpSessionIndexEntry 1 }
--
-- SESSION MAP
--
rtpSessionMapTable OBJECT-TYPE
SYNTAX SEQUENCE OF RtpSessionMapEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Traces the mapping of one session (the rtpSessionMapIn)
to another (rtpSessionMapEg) where all ingress streams
from the former are assumed to be egress streams of the
latter."
::= { rtpIS 3 }
Baugher, Du, Naudus Expires September 24, 1997 [Page 21]
Internet Draft RTP MIB March 24, 1997
rtpSessionMapEntry OBJECT-TYPE
SYNTAX RtpSessionMapEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Each entry defines an association of an entry from
the rtpSessionTable with another entry from the
rtpSessionTable that is asymmetric in that streams
from rtpSessionMapIn session are forwarded to
the address,port and interface of rtpSessionMapEg.
Another entry is needed to define the reverse mapping."
INDEX { rtpSessionMapIn, rtpSessionMapEg }
::= { rtpSessionMapTable 1 }
RtpSessionMapEntry ::= SEQUENCE {
rtpSessionMapIn INTEGER(1..65535),
rtpSessionMapEg INTEGER(1..65535) }
rtpSessionMapIn OBJECT-TYPE
SYNTAX INTEGER(1..65535)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Refers to rtpSessionTable entry in which all streams
are forwarded to <address, port, interface> that
corresponds to the rtpSessionMapEg entry."
::= { rtpSessionMapEntry 1 }
rtpSessionMapEg OBJECT-TYPE
SYNTAX INTEGER(1..65535)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Refers to rtpSessionTable entry to which all streams
from rtpSessionMapIn are forwarded."
::= { rtpSessionMapEntry 2 }
Baugher, Du, Naudus Expires September 24, 1997 [Page 22]
Internet Draft RTP MIB March 24, 1997
--
-- MODULE GROUPS
--
rtpISGroup OBJECT-GROUP
OBJECTS {
rtpSessionAddr,
rtpSessionPort,
rtpSessionIf,
rtpSessionOwner,
rtpSessionRowStatus,
rtpSessionIndexValue,
rtpSessionMapIn,
rtpSessionMapEg }
STATUS current
DESCRIPTION
"Objects used to define RTP sessions."
::= { rtpIS 9 }
rtpISCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION "All objects are mandatory with the
the exceptions listed below."
MODULE RTP-IS
MANDATORY-GROUPS { rtpISGroup }
OBJECT rtpSessionAddr
MIN-ACCESS read-only
DESCRIPTION "This is useful even if the agent
chooses not support create access."
OBJECT rtpSessionPort
MIN-ACCESS read-only
DESCRIPTION "This is useful even if the agent
chooses not support create access."
OBJECT rtpSessionIf
MIN-ACCESS read-only
DESCRIPTION "This is useful even if the agent
chooses not support create access."
OBJECT rtpSessionOwner
MIN-ACCESS read-only
DESCRIPTION "This is useful even if the agent
chooses not support create access."
OBJECT rtpSessionRowStatus
MIN-ACCESS not-accessible
DESCRIPTION "Not needed when Addr, Port, and If
cannot be created by manager."
::= { rtpIS 10 }
END
Baugher, Du, Naudus Expires September 24, 1997 [Page 23]
Internet Draft RTP MIB March 24, 1997
6. Possible Additions to the RTP MIB
The following additions to the RTP MIB have been considered, but not
added to this revision of the draft.
6.1 A Receivers Table for an RTP Source
An RTP source is capable of collecting various statistics from its
receivers such as loss and delay. There is no such management
information structure in this revision of the RTP MIB. The authors
felt that this information was transient and probably not of great use
to an SNMP network manager. This conclusion could turn out to be
wrong, especially in the case of servers. The modular structure of the
RTP MIB, however, can accommodate the addition of an RTP-SOURCE module
that would allow a manager to view a table of information constructed
from the RTCP RR's and SDES PDU's that have been received from the
receivers. Such a table should be optional, since a MIB that required
a source to store an entry for every receiver would not scale.
6.2 Delay or RTT
If there were a Receivers table as described in section 6.1, then it
could contain the round-trip time (RTT) computed from the RTCP RR's
and the sender's clock[1]. Alternatively, an RTP Monitor may not be
able to reliably compute RTT, but there are other means for estimating
delays between a sender and a particular receiver which can be done
by non-RTP means. Such a delay statistic computed in the Monitor
could be added by augmenting the ingress streams table.
6.3 Various SDES Items
Name, email address, location, and many other items from the SDES PDU
do not appear in the MIB. Since accounting was not one of the uses
that were assumed for the MIB in section 4.2 of this document, the
addition of the user-specific or site-specific objects were deemed to
be superfluous. User tool, an optional item, is included in the
RTP-SYSTEM module. Tool and CNAME are the only SDES items found
in the RTP MIB. Other SDES items could be added to the column objects
of the streams table by augmenting the tables.
Baugher, Du, Naudus Expires September 24, 1997 [Page 24]
Internet Draft RTP MIB March 24, 1997
7. Acknowledgments
The authors wish to thank Steve Casner, Karl Auerbach, Don Ryan and
Christian Maciocco for sharing their views on management, in general,
and RTP management in particular. Bill Strahm has provided guidance
on RTP instrumentation and the RTP management entity.
8. References
[1] H. Shulzrinne, S. Casner, R. Frederick, and V. Jacobson, "RTP:
A Transport Protocol for real-time applications," RFC 1889.
[2] J. Case, K. McCloghrie, M. Rose, and S. Waldbusser,
"Structure of Management Information for Version 2
of the Simple Network Management Protocol (SNMPv2)",
RFC 1902, January, 1996.
[3] Information processing systems -- Open Systems
Interconnection -- Specification of Basic Encoding Rules
for Abstract Notation One (ASN.1), International
Organization for Standardization. International Standard
8825, (December, 1987).
[4] M.T.Rose, SNMP MUX Protocol and MIB, RFC 1227, May 1991.
[5] B.Wijner, G. Carpenter, K. Curran, A. Sehgal, G. Waters,
"Simple Network Management Protocol Distributed Protocol
Interface Version 2.0", RFC 1592, March, 1994.
[6] M.Daniele, B. Wijner, D. Franciso, "Agent Extensibility
(AgentX) Protocol, Version 1", work in progress,
<draft-ietf-agentx-pro-01.txt>, November, 1996.
Baugher, Du, Naudus Expires September 24, 1997 [Page 25]