summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc6849.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc6849.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc6849.txt')
-rw-r--r--doc/rfc/rfc6849.txt1851
1 files changed, 1851 insertions, 0 deletions
diff --git a/doc/rfc/rfc6849.txt b/doc/rfc/rfc6849.txt
new file mode 100644
index 0000000..6064abc
--- /dev/null
+++ b/doc/rfc/rfc6849.txt
@@ -0,0 +1,1851 @@
+
+
+
+
+
+
+Internet Engineering Task Force (IETF) H. Kaplan, Ed.
+Request for Comments: 6849 Acme Packet
+Category: Standards Track K. Hedayat
+ISSN: 2070-1721 EXFO
+ N. Venna
+ Saperix
+ P. Jones
+ Cisco Systems, Inc.
+ N. Stratton
+ BlinkMind, Inc.
+ February 2013
+
+
+ An Extension to the Session Description Protocol (SDP)
+ and Real-time Transport Protocol (RTP) for Media Loopback
+
+Abstract
+
+ The wide deployment of Voice over IP (VoIP), real-time text, and
+ Video over IP services has introduced new challenges in managing and
+ maintaining real-time voice/text/video quality, reliability, and
+ overall performance. In particular, media delivery is an area that
+ needs attention. One method of meeting these challenges is
+ monitoring the media delivery performance by looping media back to
+ the transmitter. This is typically referred to as "active
+ monitoring" of services. Media loopback is especially popular in
+ ensuring the quality of transport to the edge of a given VoIP, real-
+ time text, or Video over IP service. Today, in networks that deliver
+ real-time media, short of running 'ping' and 'traceroute' to the
+ edge, administrators are left without the necessary tools to actively
+ monitor, manage, and diagnose quality issues with their service. The
+ extension defined herein adds new Session Description Protocol (SDP)
+ media types and attributes that enable establishment of media
+ sessions where the media is looped back to the transmitter. Such
+ media sessions will serve as monitoring and troubleshooting tools by
+ providing the means for measurement of more advanced VoIP, real-time
+ text, and Video over IP performance metrics.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Kaplan, et al. Standards Track [Page 1]
+
+RFC 6849 SDP Media Loopback February 2013
+
+
+Status of This Memo
+
+ This is an Internet Standards Track document.
+
+ This document is a product of the Internet Engineering Task Force
+ (IETF). It represents the consensus of the IETF community. It has
+ received public review and has been approved for publication by the
+ Internet Engineering Steering Group (IESG). Further information on
+ Internet Standards is available in Section 2 of RFC 5741.
+
+ Information about the current status of this document, any errata,
+ and how to provide feedback on it may be obtained at
+ http://www.rfc-editor.org/info/rfc6849.
+
+Copyright Notice
+
+ Copyright (c) 2013 IETF Trust and the persons identified as the
+ document authors. All rights reserved.
+
+ This document is subject to BCP 78 and the IETF Trust's Legal
+ Provisions Relating to IETF Documents
+ (http://trustee.ietf.org/license-info) in effect on the date of
+ publication of this document. Please review these documents
+ carefully, as they describe your rights and restrictions with respect
+ to this document. Code Components extracted from this document must
+ include Simplified BSD License text as described in Section 4.e of
+ the Trust Legal Provisions and are provided without warranty as
+ described in the Simplified BSD License.
+
+ This document may contain material from IETF Documents or IETF
+ Contributions published or made publicly available before November
+ 10, 2008. The person(s) controlling the copyright in some of this
+ material may not have granted the IETF Trust the right to allow
+ modifications of such material outside the IETF Standards Process.
+ Without obtaining an adequate license from the person(s) controlling
+ the copyright in such materials, this document may not be modified
+ outside the IETF Standards Process, and derivative works of it may
+ not be created outside the IETF Standards Process, except to format
+ it for publication as an RFC or to translate it into languages other
+ than English.
+
+
+
+
+
+
+
+
+
+
+
+Kaplan, et al. Standards Track [Page 2]
+
+RFC 6849 SDP Media Loopback February 2013
+
+
+Table of Contents
+
+ 1. Introduction ....................................................3
+ 1.1. Use Cases Supported ........................................4
+ 2. Terminology .....................................................6
+ 3. Overview of Operation ...........................................6
+ 3.1. SDP Offerer Behavior .......................................6
+ 3.2. SDP Answerer Behavior ......................................7
+ 4. New SDP Attributes ..............................................7
+ 4.1. Loopback-Type Attribute ....................................7
+ 4.2. Loopback-Role Attributes: loopback-source and
+ loopback-mirror ............................................8
+ 5. Rules for Generating the SDP Offer/Answer .......................9
+ 5.1. Generating the SDP Offer for Loopback Session ..............9
+ 5.2. Generating the SDP Answer for Loopback Session ............10
+ 5.3. Offerer Processing of the SDP Answer ......................12
+ 5.4. Modifying the Session .....................................12
+ 5.5. Establishing Sessions between Entities behind NATs ........12
+ 6. RTP Requirements ...............................................13
+ 7. Payload Formats for Packet Loopback ............................13
+ 7.1. Encapsulated Payload Format ...............................14
+ 7.2. Direct Loopback RTP Payload Format ........................16
+ 8. SRTP Behavior ..................................................17
+ 9. RTCP Requirements ..............................................18
+ 10. Congestion Control ............................................18
+ 11. Examples ......................................................18
+ 11.1. Offer for Specific Media Loopback Type ...................19
+ 11.2. Offer for Choice of Media Loopback Type ..................19
+ 11.3. Answerer Rejecting Loopback Media ........................20
+ 12. Security Considerations .......................................21
+ 13. Implementation Considerations .................................22
+ 14. IANA Considerations ...........................................22
+ 14.1. SDP Attributes ...........................................22
+ 14.2. Media Types ..............................................23
+ 15. Acknowledgements ..............................................31
+ 16. References ....................................................31
+ 16.1. Normative References .....................................31
+ 16.2. Informative References ...................................32
+
+1. Introduction
+
+ The overall quality, reliability, and performance of VoIP, real-time
+ text, and Video over IP services rely on the performance and quality
+ of the media path. In order to assure the quality of the delivered
+ media, there is a need to monitor the performance of the media
+ transport. One method of monitoring and managing the overall quality
+ of real-time VoIP, real-time text, and Video over IP services is
+
+
+
+
+Kaplan, et al. Standards Track [Page 3]
+
+RFC 6849 SDP Media Loopback February 2013
+
+
+ through monitoring the quality of the media in an active session.
+ This type of "active monitoring" of services is a method of
+ proactively managing the performance and quality of VoIP-based
+ services.
+
+ The goal of active monitoring is to measure the media quality of a
+ VoIP, real-time text, or Video over IP session. A way to achieve
+ this goal is to request an endpoint to loop media back to the other
+ endpoint and to provide media statistics (e.g., RTP Control Protocol
+ (RTCP) [RFC3550] and RTCP Extended Reports (RTCP-XR) [RFC3611]
+ information). Another method involves deployment of special
+ endpoints that always loop incoming media back for all sessions.
+ Although the latter method has been used and is functional, it does
+ not scale to support large networks and introduces new network
+ management challenges. Further, it does not offer the granularity of
+ testing a specific endpoint that may be exhibiting problems.
+
+ The extension defined in this document introduces new SDP media types
+ and attributes that enable establishment of media sessions where the
+ media is looped back to the transmitter. The SDP offer/answer model
+ [RFC3264] is used to establish a loopback connection. Furthermore,
+ this extension provides guidelines on handling RTP [RFC3550], as well
+ as usage of RTCP [RFC3550] and RTCP-XR [RFC3611] for reporting media-
+ related measurements.
+
+1.1. Use Cases Supported
+
+ As a matter of terminology in this document, packets flow from one
+ peer acting as a "loopback source", to the other peer acting as a
+ "loopback mirror", which in turn returns packets to the loopback
+ source. In advance of the session, the peers negotiate to determine
+ which one acts in which role, using the SDP offer/answer exchange.
+ The negotiation also includes details such as the type of loopback to
+ be used.
+
+ This specification supports three use cases: "encapsulated packet
+ loopback", "direct loopback", and "media loopback". These are
+ distinguished by the treatment of incoming RTP packets at the
+ loopback mirror.
+
+1.1.1. Encapsulated Packet Loopback
+
+ In the encapsulated packet loopback case, the entire incoming RTP
+ packet is encapsulated as payload within an outer RTP packet that is
+ specific to this use case and specified in Section 7.1. The
+ encapsulated packet is returned to the loopback source. The loopback
+ source can generate statistics for one-way path performance up to the
+ RTP level for each direction of travel by examining sequence numbers
+
+
+
+Kaplan, et al. Standards Track [Page 4]
+
+RFC 6849 SDP Media Loopback February 2013
+
+
+ and timestamps in the encapsulating outer RTP header and the
+ encapsulated RTP packet payload. The loopback source can also play
+ back the returned media content for evaluation.
+
+ Because the encapsulating RTP packet header extends the packet size,
+ it could encounter difficulties in an environment where the original
+ RTP packet size is close to the path Maximum Transmission Unit (MTU)
+ size. The encapsulating payload format therefore offers the
+ possibility of RTP-level fragmentation of the returned packets. The
+ use of this facility could affect statistics derived for the return
+ path. In addition, the increased bit rate required in the return
+ direction may affect these statistics more directly in a restricted-
+ bandwidth situation.
+
+1.1.2. Direct Loopback
+
+ In the direct loopback case, the loopback mirror copies the payload
+ of the incoming RTP packet into a new RTP packet, using a payload
+ format specific to this use case and specified in Section 7.2. The
+ loopback mirror returns the new packet to the packet source. There
+ is no provision in this case for RTP-level fragmentation.
+
+ This use case has the advantage of keeping the packet size the same
+ in both directions. The packet source can compute only two-way path
+ statistics from the direct loopback packet header but can play back
+ the returned media content.
+
+ It has been suggested that the loopback source, knowing that the
+ incoming packet will never be passed to a decoder, can store a
+ timestamp and sequence number inside the payload of the packet it
+ sends to the mirror, then extract that information from the returned
+ direct loopback packet and compute one-way path statistics as in the
+ previous case. Obviously, playout of returned content is no longer
+ possible if this is done.
+
+1.1.3. Media Loopback
+
+ In the media loopback case, the loopback mirror submits the incoming
+ packet to a decoder appropriate to the incoming payload type. The
+ packet is taken as close as possible to the analog level, then
+ re-encoded according to an outgoing format determined by SDP
+ negotiation. The re-encoded content is returned to the loopback
+ source as an RTP packet with payload type corresponding to the
+ re-encoding format.
+
+ This usage allows troubleshooting at the codec level. The capability
+ for path statistics is limited to what is available from RTCP
+ reports.
+
+
+
+Kaplan, et al. Standards Track [Page 5]
+
+RFC 6849 SDP Media Loopback February 2013
+
+
+2. Terminology
+
+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
+ "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
+ document are to be interpreted as described in RFC 2119 [RFC2119].
+
+ SDP: Session Description Protocol, as defined in [RFC4566]. This
+ document assumes that the SDP offer/answer model is followed,
+ per [RFC3264], but does not assume any specific signaling
+ protocol for carrying the SDP.
+
+ The following terms are borrowed from [RFC3264] definitions: offer,
+ offerer, answer, answerer, and agent.
+
+3. Overview of Operation
+
+ This document defines two loopback 'types', two 'roles', and two
+ encoding formats for loopback. For any given SDP offerer or answerer
+ pair, one side is the source of RTP packets, while the other is the
+ mirror looping packets/media back. Those define the two loopback
+ roles. As the mirror, two 'types' of loopback can be performed:
+ packet-level or media-level. When media-level is used, there is no
+ further choice of encoding format -- there is only one format:
+ whatever is indicated for normal media, since the "looping" is
+ performed at the codec level. When packet-level looping is
+ performed, however, the mirror can either send back RTP in an
+ encapsulated format or direct loopback format. The rest of this
+ document describes these loopback types, roles, and encoding formats,
+ and the SDP offer/answer rules for indicating them.
+
+3.1. SDP Offerer Behavior
+
+ An SDP offerer compliant to this specification and attempting to
+ establish a media session with media loopback will include "loopback"
+ media attributes for each individual media description in the offer
+ message that it wishes to have looped back. Note that the offerer
+ may choose to only request loopback for some media
+ descriptions/streams but not others. For example, it might wish to
+ request loopback for a video stream but not audio, or vice versa.
+
+ The offerer will look for the "loopback" media attributes in the
+ media description(s) of the response from the SDP answer for
+ confirmation that the request is accepted.
+
+
+
+
+
+
+
+
+Kaplan, et al. Standards Track [Page 6]
+
+RFC 6849 SDP Media Loopback February 2013
+
+
+3.2. SDP Answerer Behavior
+
+ In order to accept a loopback offer (that is, an offer containing
+ "loopback" in the media description), an SDP answerer includes the
+ "loopback" media attribute in each media description for which it
+ desires loopback.
+
+ An answerer can reject an offered stream (either with loopback-source
+ or loopback-mirror) if the loopback-type is not specified, the
+ specified loopback-type is not supported, or the endpoint cannot
+ honor the offer for any other reason. The loopback request is
+ rejected by setting the stream's media port number to zero in the
+ answer as defined in RFC 3264 [RFC3264] or by rejecting the entire
+ offer (i.e., by rejecting the session request entirely).
+
+ Note that an answerer that is not compliant to this specification and
+ that receives an offer with the "loopback" media attributes would
+ ignore the attributes and treat the incoming offer as a normal
+ request. If the offerer does not wish to establish a "normal" RTP
+ session, it would need to terminate the session upon receiving such
+ an answer.
+
+4. New SDP Attributes
+
+ Three new SDP media-level attributes are defined: one indicates the
+ type of loopback, and the other two define the role of the agent.
+
+4.1. Loopback-Type Attribute
+
+ This specification defines a new "loopback" attribute, which
+ indicates that the agent wishes to perform loopback, and the type of
+ loopback that the agent is able to do. The loopback-type is a value
+ media attribute [RFC4566] with the following syntax:
+
+ a=loopback:<loopback-type>
+
+ Following is the Augmented BNF [RFC5234] for loopback-type:
+
+ attribute =/ loopback-attr
+ ; attribute defined in RFC 4566
+
+ loopback-attr = "loopback:" SP loopback-type
+ loopback-type = loopback-choice [1*SP loopback-choice]
+ loopback-choice = loopback-type-pkt / loopback-type-media
+ loopback-type-pkt = "rtp-pkt-loopback"
+ loopback-type-media = "rtp-media-loopback"
+
+
+
+
+
+Kaplan, et al. Standards Track [Page 7]
+
+RFC 6849 SDP Media Loopback February 2013
+
+
+ The loopback-type is used to indicate the type of loopback. The
+ loopback-type values are rtp-pkt-loopback and rtp-media-loopback.
+
+ rtp-pkt-loopback: In this mode, the RTP packets are looped back to
+ the sender at a point before the encoder/decoder function in the
+ receive direction to a point after the encoder/decoder function in
+ the send direction. This effectively re-encapsulates the RTP
+ payload with the RTP/UDP/IP headers appropriate for sending it in
+ the reverse direction. Any type of encoding-related functions,
+ such as packet loss concealment, MUST NOT be part of this type of
+ loopback path. In this mode, the RTP packets are looped back with
+ a new payload type and format. Section 7 describes the payload
+ formats that are to be used for this type of loopback. This type
+ of loopback applies to the encapsulated and direct loopback use
+ cases described in Section 1.1.
+
+ rtp-media-loopback: This loopback is activated as close as possible
+ to the analog interface and after the decoder so that the RTP
+ packets are subsequently re-encoded prior to transmission back to
+ the sender. This type of loopback applies to the media loopback
+ use case described in Section 1.1.3.
+
+4.2. Loopback-Role Attributes: loopback-source and loopback-mirror
+
+ The loopback role defines two property media attributes [RFC4566]
+ that are used to indicate the role of the agent generating the SDP
+ offer or answer. The syntax of the two loopback-role media
+ attributes is as follows:
+
+ a=loopback-source
+
+ and
+
+ a=loopback-mirror
+
+ Following is the Augmented BNF [RFC5234] for loopback-source and
+ loopback-mirror:
+
+ attribute =/ loopback-source / loopback-mirror
+ ; attribute defined in RFC 4566
+ loopback-source = "loopback-source"
+ loopback-mirror = "loopback-mirror"
+
+ loopback-source: This attribute specifies that the entity that
+ generated the SDP is the media source and expects the receiver of
+ the SDP message to act as a loopback mirror.
+
+
+
+
+
+Kaplan, et al. Standards Track [Page 8]
+
+RFC 6849 SDP Media Loopback February 2013
+
+
+ loopback-mirror: This attribute specifies that the entity that
+ generated the SDP will mirror (echo) all received media back to
+ the sender of the RTP stream. No media is generated locally by
+ the looping-back entity for transmission in the mirrored stream.
+
+ The "m=" line in the SDP includes all the payload types that will be
+ used during the loopback session. The complete payload space for the
+ session is specified in the "m=" line, and the rtpmap attribute is
+ used to map from the payload type number to an encoding name denoting
+ the payload format to be used.
+
+5. Rules for Generating the SDP Offer/Answer
+
+5.1. Generating the SDP Offer for Loopback Session
+
+ If an offerer wishes to make a loopback request, it includes both the
+ loopback-type and loopback-role attributes in a valid SDP offer:
+
+ Example: m=audio 41352 RTP/AVP 0 8 100
+ a=loopback:rtp-media-loopback
+ a=loopback-source
+ a=rtpmap:0 pcmu/8000
+ a=rtpmap:8 pcma/8000
+ a=rtpmap:100 G7221/16000/1
+
+ Since media loopback requires bidirectional RTP, its normal direction
+ mode is "sendrecv"; the "sendrecv" direction attribute MAY be encoded
+ in SDP or not, as per Section 5.1 of [RFC3264], since it is implied
+ by default. If either the loopback source or mirror wishes to
+ disable loopback use during a session, the direction mode attribute
+ "inactive" MUST be used as per [RFC3264]. The direction mode
+ attributes "recvonly" and "sendonly" are incompatible with the
+ loopback mechanism and MUST NOT be indicated when generating an SDP
+ offer or answer. When receiving an SDP offer or answer, if
+ "recvonly" or "sendonly" is indicated for loopback, the SDP-receiving
+ agent SHOULD treat it as a protocol failure of the loopback
+ negotiation and terminate the session through its normal means (e.g.,
+ by sending a SIP BYE if SIP is used) or reject the offending media
+ stream.
+
+ The offerer may offer more than one loopback-type in the SDP offer.
+ The port number and the address in the offer (m/c= lines) indicate
+ where the offerer would like to receive the media stream(s). The
+ payload type numbers indicate the value of the payload the offerer
+ expects to receive. However, the answer might indicate a subset of
+ payload type numbers from those given in the offer. In that case,
+ the offerer MUST only send the payload types received in the answer,
+ per normal SDP offer/answer rules.
+
+
+
+Kaplan, et al. Standards Track [Page 9]
+
+RFC 6849 SDP Media Loopback February 2013
+
+
+ If the offer indicates rtp-pkt-loopback support, the offer MUST also
+ contain either an encapsulated or direct loopback encoding format
+ encoding name, or both, as defined in Sections 7.1 and 7.2 of this
+ document. If the offer only indicates rtp-media-loopback support,
+ then neither encapsulated nor direct loopback encoding formats apply
+ and they MUST NOT be in the offer.
+
+ If loopback-type is rtp-pkt-loopback, the loopback mirror MUST send,
+ and the loopback source MUST receive, the looped-back packets encoded
+ in one of the two payload formats (encapsulated RTP or direct
+ loopback) as defined in Section 7.
+
+ Example: m=audio 41352 RTP/AVP 0 8 112
+ a=loopback:rtp-pkt-loopback
+ a=loopback-source
+ a=rtpmap:112 encaprtp/8000
+
+ Example: m=audio 41352 RTP/AVP 0 8 112
+ a=loopback:rtp-pkt-loopback
+ a=loopback-source
+ a=rtpmap:112 rtploopback/8000
+
+5.2. Generating the SDP Answer for Loopback Session
+
+ As with the offer, an SDP answer for loopback follows SDP
+ offer/answer rules for the direction attribute, but directions of
+ "sendonly" or "recvonly" do not apply for loopback operation.
+
+ The port number and the address in the answer (m/c= lines) indicate
+ where the answerer would like to receive the media stream. The
+ payload type numbers indicate the value of the payload types the
+ answerer expects to send and receive.
+
+ An answerer includes both the loopback-role and loopback-type
+ attributes in the answer to indicate that it will accept the loopback
+ request. When a stream is offered with the loopback-source
+ attribute, the corresponding stream in the response will be
+ loopback-mirror and vice versa, provided the answerer is capable of
+ supporting the requested loopback-type.
+
+ For example, if the offer contains the loopback-source attribute:
+
+ m=audio 41352 RTP/AVP 0 8
+ a=loopback:rtp-media-loopback
+ a=loopback-source
+
+
+
+
+
+
+Kaplan, et al. Standards Track [Page 10]
+
+RFC 6849 SDP Media Loopback February 2013
+
+
+ The answer that is capable of supporting the offer must contain the
+ loopback-mirror attribute:
+
+ m=audio 12345 RTP/AVP 0 8
+ a=loopback:rtp-media-loopback
+ a=loopback-mirror
+
+ If a stream is offered with multiple loopback-type attributes, the
+ answer MUST include only one of the loopback types that are accepted
+ by the answerer. The answerer SHOULD give preference to the first
+ loopback-type in the SDP offer.
+
+ For example, if the offer contains:
+
+ m=audio 41352 RTP/AVP 0 8 112
+ a=loopback:rtp-media-loopback rtp-pkt-loopback
+ a=loopback-source
+ a=rtpmap:112 encaprtp/8000
+
+ The answer that is capable of supporting the offer and chooses to
+ loopback the media using the rtp-media-loopback type must contain:
+
+ m=audio 12345 RTP/AVP 0 8
+ a=loopback:rtp-media-loopback
+ a=loopback-mirror
+
+ As specified in Section 7, if the loopback-type is rtp-pkt-loopback,
+ either the encapsulated RTP payload format or direct loopback RTP
+ payload format MUST be used for looped-back packets.
+
+ For example, if the offer contains:
+
+ m=audio 41352 RTP/AVP 0 8 112 113
+ a=loopback:rtp-pkt-loopback
+ a=loopback-source
+ a=rtpmap:112 encaprtp/8000
+ a=rtpmap:113 rtploopback/8000
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Kaplan, et al. Standards Track [Page 11]
+
+RFC 6849 SDP Media Loopback February 2013
+
+
+ The answer that is capable of supporting the offer must contain one
+ of the following:
+
+ m=audio 12345 RTP/AVP 0 8 112
+ a=loopback:rtp-pkt-loopback
+ a=loopback-mirror
+ a=rtpmap:112 encaprtp/8000
+
+ m=audio 12345 RTP/AVP 0 8 113
+ a=loopback:rtp-pkt-loopback
+ a=loopback-mirror
+ a=rtpmap:113 rtploopback/8000
+
+ The previous examples used the 'encaprtp' and 'rtploopback' encoding
+ names, which will be defined in Sections 7.1.3 and 7.2.3.
+
+5.3. Offerer Processing of the SDP Answer
+
+ If the received SDP answer does not contain an a=loopback-mirror or
+ a=loopback-source attribute, it is assumed that the loopback
+ extensions are not supported by the remote agent. This is not a
+ protocol failure and instead merely completes the SDP offer/answer
+ exchange with whatever normal rules apply; the offerer MAY decide to
+ end the established RTP session (if any) through normal means of the
+ upper-layer signaling protocol (e.g., by sending a SIP BYE).
+
+5.4. Modifying the Session
+
+ At any point during the loopback session, either participant MAY
+ issue a new offer to modify the characteristics of the previous
+ session, as defined in Section 8 of RFC 3264 [RFC3264]. This also
+ includes transitioning from a normal media processing mode to
+ loopback mode, and vice versa.
+
+5.5. Establishing Sessions between Entities behind NATs
+
+ Interactive Connectivity Establishment (ICE) [RFC5245], Traversal
+ Using Relays around NAT (TURN) [RFC5766], and Session Traversal
+ Utilities for NAT (STUN) [RFC5389] provide a general solution to
+ establishing media sessions between entities that are behind Network
+ Address Translators (NATs). Loopback sessions that involve one or
+ more endpoints behind NATs can also use these general solutions
+ wherever possible.
+
+ If ICE is not supported, then in the case of loopback, the mirroring
+ entity will not send RTP packets and therefore will not automatically
+ create the NAT pinhole in the way that other SIP sessions do.
+ Therefore, if the mirroring entity is behind a NAT, it MUST send some
+
+
+
+Kaplan, et al. Standards Track [Page 12]
+
+RFC 6849 SDP Media Loopback February 2013
+
+
+ packets to the identified address/port(s) of the peer, in order to
+ open the NAT pinhole. Using ICE, this would be accomplished with the
+ STUN connectivity check process or through a TURN server connection.
+ If ICE is not supported, either [RFC6263] or Section 10 of ICE
+ [RFC5245] can be followed to open the pinhole and keep the NAT
+ binding alive/refreshed.
+
+ Note that for any form of NAT traversal to function, symmetric
+ RTP/RTCP [RFC4961] MUST be used, unless the mirror can control the
+ NAT(s) in its path to create explicit pinholes. In other words, both
+ agents MUST send packets from the source address and port they
+ receive packets on, unless some mechanism is used to avoid that need
+ (e.g., by using the Port Control Protocol).
+
+6. RTP Requirements
+
+ A loopback source MUST NOT send multiple source streams on the same
+ 5-tuple, since there is no means for the mirror to indicate which is
+ which in its mirrored RTP packets.
+
+ A loopback mirror that is compliant to this specification and accepts
+ media with the loopback type rtp-pkt-loopback loops back the incoming
+ RTP packets using either the encapsulated RTP payload format or the
+ direct loopback RTP payload format as defined in Section 7 of this
+ specification.
+
+ A device that is compliant to this specification and performing the
+ mirroring using the loopback type rtp-media-loopback MUST transmit
+ all received media back to the sender, unless congestion feedback or
+ other lower-layer constraints prevent it from doing so. The incoming
+ media is treated as if it were to be played; for example, the media
+ stream may receive treatment from Packet Loss Concealment (PLC)
+ algorithms. The mirroring entity re-generates all the RTP header
+ fields as it would when transmitting media. The mirroring entity MAY
+ choose to encode the loopback media according to any of the media
+ descriptions supported by the offering entity. Furthermore, in cases
+ where the same media type is looped back, the mirroring entity can
+ choose to preserve the number of frames/packets and the bit rate of
+ the encoded media according to the received media.
+
+7. Payload Formats for Packet Loopback
+
+ The payload formats described in this section MUST be used by a
+ loopback mirror when 'rtp-pkt-loopback' is the specified
+ loopback-type. Two different formats are specified here -- an
+ encapsulated RTP payload format and a direct loopback RTP payload
+ format. The encapsulated RTP payload format should be used when the
+ incoming RTP header information needs to be preserved during the
+
+
+
+Kaplan, et al. Standards Track [Page 13]
+
+RFC 6849 SDP Media Loopback February 2013
+
+
+ loopback operation. This is useful in cases where the loopback
+ source needs to measure performance metrics in both directions.
+ However, this comes at the expense of increased packet size as
+ described in Section 7.1. The direct loopback RTP payload format
+ should be used when bandwidth requirements prevent the use of the
+ encapsulated RTP payload format.
+
+7.1. Encapsulated Payload Format
+
+ A received RTP packet is encapsulated in the payload section of the
+ RTP packet generated by a loopback mirror. Each received packet is
+ encapsulated in a separate encapsulating RTP packet; the encapsulated
+ packet would be fragmented only if required (for example, due to MTU
+ limitations).
+
+7.1.1. Usage of RTP Header Fields
+
+ Payload Type (PT): The assignment of an RTP payload type for this
+ packet format is outside the scope of this document; it is either
+ specified by the RTP profile under which this payload format is
+ used or more likely signaled dynamically out-of-band (e.g., using
+ SDP; Section 7.1.3 defines the name binding).
+
+ Marker (M) bit: If the received RTP packet is looped back in multiple
+ encapsulating RTP packets, the M bit is set to 1 in every fragment
+ except the last packet; otherwise, it is set to 0.
+
+ Extension (X) bit: This bit is defined by the RTP profile used.
+
+ Sequence Number: The RTP sequence number SHOULD be generated by the
+ loopback mirror in the usual manner with a constant random offset
+ as described in RFC 3550 [RFC3550].
+
+ Timestamp: The RTP timestamp denotes the sampling instant for when
+ the loopback mirror is transmitting this packet to the loopback
+ source. The RTP timestamp MUST use the same clock rate as that of
+ the encapsulated packet. The initial value of the timestamp
+ SHOULD be random for security reasons (see Section 5.1 of RFC 3550
+ [RFC3550]).
+
+ Synchronization source (SSRC): This field is set as described in
+ RFC 3550 [RFC3550].
+
+ The CSRC count (CC) and contributing source (CSRC) fields are used as
+ described in RFC 3550 [RFC3550].
+
+
+
+
+
+
+Kaplan, et al. Standards Track [Page 14]
+
+RFC 6849 SDP Media Loopback February 2013
+
+
+7.1.2. RTP Payload Structure
+
+ The outer RTP header of the encapsulating packet is followed by the
+ payload header defined in this section, after any header
+ extension(s). If the received RTP packet has to be looped back in
+ multiple encapsulating packets due to fragmentation, the
+ encapsulating RTP header in each packet is followed by the payload
+ header defined in this section. The header is devised so that the
+ loopback source can decode looped-back packets in the presence of
+ moderate packet loss [RFC3550]. The RTP payload of the encapsulating
+ RTP packet starts with the payload header defined in this section.
+
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | receive timestamp |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | F | R | CC |M| PT | sequence number |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | transmit timestamp |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | synchronization source (SSRC) identifier |
+ +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
+ | contributing source (CSRC) identifiers |
+ | .... |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+
+ Figure 1. Encapsulating RTP Packet Payload Header
+
+ The 12 octets after the receive timestamp are identical to the
+ encapsulated RTP header of the received packet except for the first 2
+ bits of the first octet. In effect, the received RTP packet is
+ encapsulated by creating a new outer RTP header followed by 4 new
+ bytes of a receive timestamp, followed by the original received RTP
+ header and payload, except that the first two bits of the received
+ RTP header are overwritten as defined here.
+
+ Receive timestamp: 32 bits
+
+ The receive timestamp denotes the sampling instant for when the last
+ octet of the received media packet that is being encapsulated by the
+ loopback mirror is received from the loopback source. The same clock
+ rate MUST be used by the loopback source. The initial value of the
+ timestamp SHOULD be random for security reasons (see Section 5.1 of
+ RFC 3550 [RFC3550]).
+
+
+
+
+
+
+Kaplan, et al. Standards Track [Page 15]
+
+RFC 6849 SDP Media Loopback February 2013
+
+
+ Fragmentation (F): 2 bits
+
+ Possible values are First Fragment (00), Last Fragment (01),
+ No Fragmentation (10), or Intermediate Fragment (11). This field
+ identifies how much of the received packet is encapsulated in this
+ packet by the loopback mirror. If the received packet is not
+ fragmented, this field is set to 10; otherwise, the packet that
+ contains the first fragments sets this field to 00. The packet that
+ contains the last fragment sets this field to 01, and all other
+ packets set this field to 11.
+
+7.1.3. Usage of SDP
+
+ The payload type number for the encapsulated stream can be negotiated
+ using SDP. There is no static payload type assignment for the
+ encapsulating stream, so dynamic payload type numbers MUST be used.
+ The binding to the name is indicated by an rtpmap attribute. The
+ name used in this binding is "encaprtp".
+
+ The following is an example SDP fragment for encapsulated RTP.
+
+ m=audio 41352 RTP/AVP 112
+ a=rtpmap:112 encaprtp/8000
+
+7.2. Direct Loopback RTP Payload Format
+
+ The direct loopback RTP payload format can be used in scenarios where
+ the 16-byte overhead of the encapsulated payload format is of
+ concern, or simply due to local policy. When using this payload
+ format, the receiver loops back each received RTP packet payload (not
+ header) in a separate RTP packet.
+
+ Because a direct loopback format does not retain the original RTP
+ headers, there will be no indication of the original payload-type
+ sent to the mirror, in looped-back packets. Therefore, the loopback
+ source SHOULD only send one payload type per loopback RTP session if
+ direct mode is used.
+
+7.2.1. Usage of RTP Header Fields
+
+ Payload Type (PT): The assignment of an RTP payload type for the
+ encapsulating packet format is outside the scope of this document;
+ it is either specified by the RTP profile under which this payload
+ format is used or more likely signaled dynamically out-of-band
+ (e.g., using SDP; Section 7.2.3 defines the name binding).
+
+ Marker (M) bit: This bit is set to the value in the received packet.
+
+
+
+
+Kaplan, et al. Standards Track [Page 16]
+
+RFC 6849 SDP Media Loopback February 2013
+
+
+ Extension (X) bit: This bit is defined by the RTP profile used.
+
+ Sequence Number: The RTP sequence number SHOULD be generated by the
+ loopback mirror in the usual manner with a constant random offset,
+ as per [RFC3550].
+
+ Timestamp: The RTP timestamp denotes the sampling instant for when
+ the loopback mirror is transmitting this packet to the loopback
+ source. The same clock rate MUST be used as that of the received
+ RTP packet. The initial value of the timestamp SHOULD be random
+ for security reasons (see Section 5.1 of RFC 3550 [RFC3550]).
+
+ SSRC: This field is set as described in RFC 3550 [RFC3550].
+
+ The CC and CSRC fields are used as described in RFC 3550 [RFC3550].
+
+7.2.2. RTP Payload Structure
+
+ This payload format does not define any payload-specific headers.
+ The loopback mirror simply copies the RTP payload data from the
+ payload portion of the RTP packet received from the loopback source.
+
+7.2.3. Usage of SDP
+
+ The payload type number for the payload loopback stream can be
+ negotiated using a mechanism like SDP. There is no static payload
+ type assignment for the stream, so dynamic payload type numbers MUST
+ be used. The binding to the name is indicated by an rtpmap
+ attribute. The name used in this binding is "rtploopback".
+
+ The following is an example SDP fragment for the direct loopback RTP
+ format.
+
+ m=audio 41352 RTP/AVP 112
+ a=rtpmap:112 rtploopback/8000
+
+8. SRTP Behavior
+
+ Secure RTP (SRTP) [RFC3711] MAY be used for loopback sessions. SRTP
+ operates at a lower logical layer than RTP, and thus if both sides
+ negotiate to use SRTP, each side uses its own key and performs
+ encryption/decryption, authentication, etc. Therefore, the loopback
+ function on the mirror occurs after the SRTP packet has been
+ decrypted and authenticated, as a normal cleartext RTP packet without
+ a Master Key Identifier (MKI) or authentication tag; once the
+
+
+
+
+
+
+Kaplan, et al. Standards Track [Page 17]
+
+RFC 6849 SDP Media Loopback February 2013
+
+
+ cleartext RTP packet or payload is mirrored -- either at the media-
+ layer, direct packet-layer, or encapsulated packet-layer -- it is
+ encrypted by the mirror using its own key.
+
+ In order to provide the same level of protection to both forward and
+ reverse media flows (media to and from the mirror), if SRTP is used
+ it MUST be used in both directions with the same properties.
+
+9. RTCP Requirements
+
+ The use of the loopback attribute is intended for the monitoring of
+ media quality of the session. Consequently, the media performance
+ information should be exchanged between the offering and the
+ answering entities. An offering or answering agent that is compliant
+ to this specification SHOULD support RTCP per [RFC3550] and RTCP-XR
+ per RFC 3611 [RFC3611]. Furthermore, if the offerer or answerer
+ chooses to support RTCP-XR, they SHOULD support the RTCP-XR Loss Run
+ Length Encoding (RLE) Report Block, Duplicate RLE Report Block,
+ Statistics Summary Report Block, and VoIP Metrics Report Block per
+ Sections 4.1, 4.2, 4.6, and 4.7 of RFC 3611 [RFC3611]. The offerer
+ and the answerer MAY support other RTCP-XR reporting blocks as
+ defined by RFC 3611 [RFC3611].
+
+10. Congestion Control
+
+ All the participants in a media-level loopback session SHOULD
+ implement congestion control mechanisms as defined by the RTP profile
+ under which the loopback mechanism is implemented. For audio/video
+ profiles, implementations SHOULD conform to the mechanism defined in
+ Section 2 of RFC 3551 [RFC3551].
+
+ For packet-level loopback types, the loopback source SHOULD implement
+ congestion control. The mirror will simply reflect back the RTP
+ packets it receives (either in encapsulated or direct modes);
+ therefore, the source needs to control the congestion of both forward
+ and reverse paths by reducing its sending rate to the mirror. This
+ keeps the loopback mirror implementation simpler and provides more
+ flexibility for the source performing a loopback test.
+
+11. Examples
+
+ This section provides examples for media descriptions using SDP for
+ different scenarios. The examples are given for SIP-based
+ transactions; for convenience, they are abbreviated and do not show
+ the complete signaling.
+
+
+
+
+
+
+Kaplan, et al. Standards Track [Page 18]
+
+RFC 6849 SDP Media Loopback February 2013
+
+
+11.1. Offer for Specific Media Loopback Type
+
+ An agent sends an SDP offer that looks like:
+
+ v=0
+ o=alice 2890844526 2890842807 IN IP4 host.atlanta.example.com
+ s=-
+ c=IN IP4 host.atlanta.example.com
+ t=0 0
+ m=audio 49170 RTP/AVP 0
+ a=loopback:rtp-media-loopback
+ a=loopback-source
+ a=rtpmap:0 pcmu/8000
+
+ The agent is offering to source the media and expects the answering
+ agent to mirror the RTP stream per the loopback type
+ rtp-media-loopback.
+
+ An answering agent sends an SDP answer that looks like:
+
+ v=0
+ o=bob 1234567890 1122334455 IN IP4 host.biloxi.example.com
+ s=-
+ c=IN IP4 host.biloxi.example.com
+ t=0 0
+ m=audio 49270 RTP/AVP 0
+ a=loopback:rtp-media-loopback
+ a=loopback-mirror
+ a=rtpmap:0 pcmu/8000
+
+ The answerer agrees to mirror the media from the offerer at the media
+ level.
+
+11.2. Offer for Choice of Media Loopback Type
+
+ An agent sends an SDP offer that looks like:
+
+ v=0
+ o=alice 2890844526 2890842807 IN IP4 host.atlanta.example.com
+ s=-
+ c=IN IP4 host.atlanta.example.com
+ t=0 0
+ m=audio 49170 RTP/AVP 0 112 113
+ a=loopback:rtp-media-loopback rtp-pkt-loopback
+ a=loopback-source
+ a=rtpmap:0 pcmu/8000
+ a=rtpmap:112 encaprtp/8000
+ a=rtpmap:113 rtploopback/8000
+
+
+
+Kaplan, et al. Standards Track [Page 19]
+
+RFC 6849 SDP Media Loopback February 2013
+
+
+ The offerer is offering to source the media and expects the answerer
+ to mirror the RTP stream at either the media or RTP level.
+
+ An answering agent sends an SDP answer that looks like:
+
+ v=0
+ o=bob 1234567890 1122334455 IN IP4 host.biloxi.example.com
+ s=-
+ c=IN IP4 host.biloxi.example.com
+ t=0 0
+ m=audio 49270 RTP/AVP 0 112
+ a=loopback:rtp-pkt-loopback
+ a=loopback-mirror
+ a=rtpmap:0 pcmu/8000
+ a=rtpmap:112 encaprtp/8000
+
+ The answerer agrees to mirror the media from the offerer at the
+ packet level using the encapsulated RTP payload format.
+
+11.3. Answerer Rejecting Loopback Media
+
+ An agent sends an SDP offer that looks like:
+
+ v=0
+ o=alice 2890844526 2890842807 IN IP4 host.atlanta.example.com
+ s=-
+ c=IN IP4 host.atlanta.example.com
+ t=0 0
+ m=audio 49170 RTP/AVP 0
+ a=loopback:rtp-media-loopback
+ a=loopback-source
+ a=rtpmap:0 pcmu/8000
+
+ The offerer is offering to source the media and expects the answerer
+ to mirror the RTP stream at the media level.
+
+ An answering agent sends an SDP answer that looks like:
+
+ v=0
+ o=bob 1234567890 1122334455 IN IP4 host.biloxi.example.com
+ s=-
+ c=IN IP4 host.biloxi.example.com
+ t=0 0
+ m=audio 0 RTP/AVP 0
+ a=rtpmap:0 pcmu/8000
+
+
+
+
+
+
+Kaplan, et al. Standards Track [Page 20]
+
+RFC 6849 SDP Media Loopback February 2013
+
+
+ Note in this case that the answerer did not indicate loopback
+ support, although it could have and still used a port number of 0 to
+ indicate that it does not wish to accept that media session.
+
+ Alternatively, the answering agent could have simply rejected the
+ entire SDP offer through some higher-layer signaling protocol means
+ (e.g., by rejecting the SIP INVITE request if the SDP offer was in
+ the INVITE).
+
+12. Security Considerations
+
+ The security considerations of [RFC3264] and [RFC3550] apply.
+
+ Given that media loopback may be automated without the end user's
+ knowledge, the answerer of the media loopback should be aware of
+ denial-of-service attacks. It is RECOMMENDED that session requests
+ for media loopback be authenticated and the frequency of such
+ sessions limited by the answerer.
+
+ If the higher-layer signaling protocol were not authenticated, a
+ malicious attacker could create a session between two parties the
+ attacker wishes to target, with each party acting as the loopback
+ mirror to the other, of the rtp-pkt-loopback type. A few RTP packets
+ sent to either party would then infinitely loop among the two, as
+ fast as they could process them, consuming their resources and
+ network bandwidth.
+
+ Furthermore, media loopback provides a means of attack indirection,
+ whereby a malicious attacker creates a loopback session as the
+ loopback source and uses the mirror to reflect the attacker's packets
+ against a target -- perhaps a target the attacker could not reach
+ directly, such as one behind a firewall, for example. Or, the
+ attacker could initiate the session as the loopback mirror, in the
+ hopes of making the peer generate media against another target.
+
+ If end-user devices such as mobile phones answer loopback requests
+ without authentication and without notifying the end user, then an
+ attacker could cause the battery to drain, and possibly deny the end
+ user normal phone service or cause network data usage fees. This
+ could even occur naturally if a legitimate loopback session does not
+ terminate properly and the end device does not have a timeout
+ mechanism for such.
+
+ For the reasons noted above, end-user devices SHOULD provide a means
+ of indicating to the human user that the device is in a loopback
+ session, even if it is an authenticated session. Devices that answer
+
+
+
+
+
+Kaplan, et al. Standards Track [Page 21]
+
+RFC 6849 SDP Media Loopback February 2013
+
+
+ or generate loopback sessions SHOULD either perform keepalive/refresh
+ tests of the session state through some means or time out the session
+ automatically.
+
+13. Implementation Considerations
+
+ The media loopback approach described in this document is a complete
+ solution that would work under all scenarios. However, it is
+ possible that the solution may not be lightweight enough for some
+ implementations. In light of this concern, this section clarifies
+ which features of the loopback proposal MUST be implemented for all
+ implementations and which features MAY be deferred if the complete
+ solution is not desired.
+
+ All implementations MUST at least support the rtp-pkt-loopback mode
+ for loopback-type, with direct media loopback payload encoding. In
+ addition, for the loopback role, all implementations of an SDP
+ offerer MUST at least be able to act as a loopback source. These
+ requirements are intended to provide a minimal level of
+ interoperability between different implementations.
+
+14. IANA Considerations
+
+14.1. SDP Attributes
+
+ This document defines three new media-level SDP attributes. IANA has
+ registered the following attributes.
+
+ Contact name: Kaynam Hedayat
+ Email address: kh274@cornell.edu
+ Telephone number: +1-617-899-3279
+ Attribute name: loopback
+ Type of attribute: Media level.
+ Subject to charset: No.
+ Purpose of attribute: The 'loopback' attribute is used to
+ indicate the type of media loopback.
+ Allowed attribute values: The parameters for 'loopback' may be
+ one or more of "rtp-pkt-loopback" and
+ "rtp-media-loopback". See Section 4
+ of RFC 6849 for syntax.
+
+
+
+
+
+
+
+
+
+
+
+Kaplan, et al. Standards Track [Page 22]
+
+RFC 6849 SDP Media Loopback February 2013
+
+
+ Contact name: Kaynam Hedayat
+ Email address: kh274@cornell.edu
+ Telephone number: +1-617-899-3279
+ Attribute name: loopback-source
+ Type of attribute: Media level.
+ Subject to charset: No.
+ Purpose of attribute: The 'loopback-source' attribute
+ specifies that the sender is the media
+ source and expects the receiver to act
+ as a loopback mirror.
+ Allowed attribute values: N/A
+
+ Contact name: Kaynam Hedayat
+ Email address: kh274@cornell.edu
+ Telephone number: +1-617-899-3279
+ Attribute name: loopback-mirror
+ Type of attribute: Media level.
+ Subject to charset: No.
+ Purpose of attribute: The 'loopback-mirror' attribute
+ specifies that the receiver will
+ mirror (echo) all received media back
+ to the sender of the RTP stream.
+ Allowed attribute values: N/A
+
+14.2. Media Types
+
+ The IANA has registered the following media types.
+
+14.2.1. audio/encaprtp
+
+ To: ietf-types@iana.org
+
+ Subject: Registration of media type audio/encaprtp
+
+ Type name: audio
+
+ Subtype name: encaprtp
+
+ Required parameters:
+
+ rate: RTP timestamp clock rate, which is equal to the sampling
+ rate. This is specified by the loopback source and reflected by
+ the mirror.
+
+ Optional parameters: N/A
+
+ Encoding considerations: This media type is framed.
+
+
+
+
+Kaplan, et al. Standards Track [Page 23]
+
+RFC 6849 SDP Media Loopback February 2013
+
+
+ Security considerations: See Section 12 of RFC 6849.
+
+ Interoperability considerations: N/A
+
+ Published specification: RFC 6849.
+
+ Applications that use this media type: Applications wishing to
+ monitor and ensure the quality of transport to the edge of a given
+ VoIP service.
+
+ Additional information: N/A
+
+ Contact: the authors of RFC 6849.
+
+ Intended usage: LIMITED USE
+
+ Restrictions on usage: This media type depends on RTP framing and
+ hence is only defined for transfer via RTP. Transfer within other
+ framing protocols is not defined at this time.
+
+ Author: Kaynam Hedayat.
+
+ Change controller: IETF PAYLOAD working group delegated from
+ the IESG.
+
+14.2.2. video/encaprtp
+
+ To: ietf-types@iana.org
+
+ Subject: Registration of media type video/encaprtp
+
+ Type name: video
+
+ Subtype name: encaprtp
+
+ Required parameters:
+
+ rate: RTP timestamp clock rate, which is equal to the sampling
+ rate. This is specified by the loopback source and reflected by
+ the mirror.
+
+ Optional parameters: N/A
+
+ Encoding considerations: This media type is framed.
+
+ Security considerations: See Section 12 of RFC 6849.
+
+ Interoperability considerations: N/A
+
+
+
+Kaplan, et al. Standards Track [Page 24]
+
+RFC 6849 SDP Media Loopback February 2013
+
+
+ Published specification: RFC 6849.
+
+ Applications that use this media type: Applications wishing to
+ monitor and ensure the quality of transport to the edge of a given
+ Video Over IP service.
+
+ Additional information: N/A
+
+ Contact: the authors of RFC 6849.
+
+ Intended usage: LIMITED USE
+
+ Restrictions on usage: This media type depends on RTP framing and
+ hence is only defined for transfer via RTP. Transfer within other
+ framing protocols is not defined at this time.
+
+ Author: Kaynam Hedayat.
+
+ Change controller: IETF PAYLOAD working group delegated from
+ the IESG.
+
+14.2.3. text/encaprtp
+
+ To: ietf-types@iana.org
+
+ Subject: Registration of media type text/encaprtp
+
+ Type name: text
+
+ Subtype name: encaprtp
+
+ Required parameters:
+
+ rate: RTP timestamp clock rate, which is equal to the sampling
+ rate. This is specified by the loopback source and reflected by
+ the mirror.
+
+ Optional parameters: N/A
+
+ Encoding considerations: This media type is framed.
+
+ Security considerations: See Section 12 of RFC 6849.
+
+ Interoperability considerations: N/A
+
+ Published specification: RFC 6849.
+
+
+
+
+
+Kaplan, et al. Standards Track [Page 25]
+
+RFC 6849 SDP Media Loopback February 2013
+
+
+ Applications that use this media type: Applications wishing to
+ monitor and ensure the quality of transport to the edge of a given
+ real-time text service.
+
+ Additional information: N/A
+
+ Contact: the authors of RFC 6849.
+
+ Intended usage: LIMITED USE
+
+ Restrictions on usage: This media type depends on RTP framing and
+ hence is only defined for transfer via RTP. Transfer within other
+ framing protocols is not defined at this time.
+
+ Author: Kaynam Hedayat.
+
+ Change controller: IETF PAYLOAD working group delegated from
+ the IESG.
+
+14.2.4. application/encaprtp
+
+ To: ietf-types@iana.org
+
+ Subject: Registration of media type application/encaprtp
+
+ Type name: application
+
+ Subtype name: encaprtp
+
+ Required parameters:
+
+ rate: RTP timestamp clock rate, which is equal to the sampling
+ rate. This is specified by the loopback source and reflected by
+ the mirror.
+
+ Optional parameters: N/A
+
+ Encoding considerations: This media type is framed.
+
+ Security considerations: See Section 12 of RFC 6849.
+
+ Interoperability considerations: N/A
+
+ Published specification: RFC 6849.
+
+ Applications that use this media type: Applications wishing to
+ monitor and ensure the quality of transport to the edge of a given
+ real-time application service.
+
+
+
+Kaplan, et al. Standards Track [Page 26]
+
+RFC 6849 SDP Media Loopback February 2013
+
+
+ Additional information: N/A
+
+ Contact: the authors of RFC 6849.
+
+ Intended usage: LIMITED USE
+
+ Restrictions on usage: This media type depends on RTP framing and
+ hence is only defined for transfer via RTP. Transfer within other
+ framing protocols is not defined at this time.
+
+ Author: Kaynam Hedayat.
+
+ Change controller: IETF PAYLOAD working group delegated from
+ the IESG.
+
+14.2.5. audio/rtploopback
+
+ To: ietf-types@iana.org
+
+ Subject: Registration of media type audio/rtploopback
+
+ Type name: audio
+
+ Subtype name: rtploopback
+
+ Required parameters:
+
+ rate: RTP timestamp clock rate, which is equal to the sampling
+ rate. This is specified by the loopback source and reflected by
+ the mirror.
+
+ Optional parameters: N/A
+
+ Encoding considerations: This media type is framed.
+
+ Security considerations: See Section 12 of RFC 6849.
+
+ Interoperability considerations: N/A
+
+ Published specification: RFC 6849.
+
+ Applications that use this media type: Applications wishing to
+ monitor and ensure the quality of transport to the edge of a given
+ VoIP service.
+
+ Additional information: N/A
+
+ Contact: the authors of RFC 6849.
+
+
+
+Kaplan, et al. Standards Track [Page 27]
+
+RFC 6849 SDP Media Loopback February 2013
+
+
+ Intended usage: LIMITED USE
+
+ Restrictions on usage: This media type depends on RTP framing and
+ hence is only defined for transfer via RTP. Transfer within other
+ framing protocols is not defined at this time.
+
+ Author: Kaynam Hedayat.
+
+ Change controller: IETF PAYLOAD working group delegated from
+ the IESG.
+
+14.2.6. video/rtploopback
+
+ To: ietf-types@iana.org
+
+ Subject: Registration of media type video/rtploopback
+
+ Type name: video
+
+ Subtype name: rtploopback
+
+ Required parameters:
+
+ rate: RTP timestamp clock rate, which is equal to the sampling
+ rate. This is specified by the loopback source and reflected by
+ the mirror.
+
+ Optional parameters: N/A
+
+ Encoding considerations: This media type is framed.
+
+ Security considerations: See Section 12 of RFC 6849.
+
+ Interoperability considerations: N/A
+
+ Published specification: RFC 6849.
+
+ Applications that use this media type: Applications wishing to
+ monitor and ensure the quality of transport to the edge of a given
+ Video Over IP service.
+
+ Additional information: N/A
+
+ Contact: the authors of RFC 6849.
+
+ Intended usage: LIMITED USE
+
+
+
+
+
+Kaplan, et al. Standards Track [Page 28]
+
+RFC 6849 SDP Media Loopback February 2013
+
+
+ Restrictions on usage: This media type depends on RTP framing and
+ hence is only defined for transfer via RTP. Transfer within other
+ framing protocols is not defined at this time.
+
+ Author: Kaynam Hedayat.
+
+ Change controller: IETF PAYLOAD working group delegated from
+ the IESG.
+
+14.2.7. text/rtploopback
+
+ To: ietf-types@iana.org
+
+ Subject: Registration of media type text/rtploopback
+
+ Type name: text
+
+ Subtype name: rtploopback
+
+ Required parameters:
+
+ rate: RTP timestamp clock rate, which is equal to the sampling
+ rate. This is specified by the loopback source and reflected by
+ the mirror.
+
+ Optional parameters: N/A
+
+ Encoding considerations: This media type is framed.
+
+ Security considerations: See Section 12 of RFC 6849.
+
+ Interoperability considerations: N/A
+
+ Published specification: RFC 6849.
+
+ Applications that use this media type: Applications wishing to
+ monitor and ensure the quality of transport to the edge of a given
+ real-time text service.
+
+ Additional information: N/A
+
+ Contact: the authors of RFC 6849.
+
+ Intended usage: LIMITED USE
+
+ Restrictions on usage: This media type depends on RTP framing and
+ hence is only defined for transfer via RTP. Transfer within other
+ framing protocols is not defined at this time.
+
+
+
+Kaplan, et al. Standards Track [Page 29]
+
+RFC 6849 SDP Media Loopback February 2013
+
+
+ Author: Kaynam Hedayat.
+
+ Change controller: IETF PAYLOAD working group delegated from
+ the IESG.
+
+14.2.8. application/rtploopback
+
+ To: ietf-types@iana.org
+
+ Subject: Registration of media type application/rtploopback
+
+ Type name: application
+
+ Subtype name: rtploopback
+
+ Required parameters:
+
+ rate: RTP timestamp clock rate, which is equal to the sampling
+ rate. This is specified by the loopback source and reflected by
+ the mirror.
+
+ Optional parameters: N/A
+
+ Encoding considerations: This media type is framed.
+
+ Security considerations: See Section 12 of RFC 6849.
+
+ Interoperability considerations: N/A
+
+ Published specification: RFC 6849.
+
+ Applications that use this media type: Applications wishing to
+ monitor and ensure the quality of transport to the edge of a given
+ real-time application service.
+
+ Additional information: N/A
+
+ Contact: the authors of RFC 6849.
+
+ Intended usage: LIMITED USE
+
+ Restrictions on usage: This media type depends on RTP framing and
+ hence is only defined for transfer via RTP. Transfer within other
+ framing protocols is not defined at this time.
+
+
+
+
+
+
+
+Kaplan, et al. Standards Track [Page 30]
+
+RFC 6849 SDP Media Loopback February 2013
+
+
+ Author: Kaynam Hedayat.
+
+ Change controller: IETF PAYLOAD working group delegated from
+ the IESG.
+
+15. Acknowledgements
+
+ This document's editor would like to thank the original authors of
+ the document: Kaynam Hedayat, Nagarjuna Venna, Paul E. Jones, Arjun
+ Roychowdhury, Chelliah SivaChelvan, and Nathan Stratton. The editor
+ has made fairly insignificant changes in the end. Also, we'd like to
+ thank Magnus Westerlund, Miguel Garcia, Muthu Arul Mozhi Perumal,
+ Jeff Bernstein, Paul Kyzivat, Dave Oran, Flemming Andreasen, Gunnar
+ Hellstrom, Emil Ivov, and Dan Wing for their feedback, comments, and
+ suggestions.
+
+16. References
+
+16.1. Normative References
+
+ [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
+ Requirement Levels", BCP 14, RFC 2119, March 1997.
+
+ [RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model
+ with Session Description Protocol (SDP)", RFC 3264,
+ June 2002.
+
+ [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V.
+ Jacobson, "RTP: A Transport Protocol for Real-Time
+ Applications", STD 64, RFC 3550, July 2003.
+
+ [RFC3551] Schulzrinne, H. and S. Casner, "RTP Profile for Audio and
+ Video Conferences with Minimal Control", STD 65,
+ RFC 3551, July 2003.
+
+ [RFC3611] Friedman, T., Ed., Caceres, R., Ed., and A. Clark, Ed.,
+ "RTP Control Protocol Extended Reports (RTCP XR)",
+ RFC 3611, November 2003.
+
+ [RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K.
+ Norrman, "The Secure Real-time Transport Protocol
+ (SRTP)", RFC 3711, March 2004.
+
+ [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
+ Description Protocol", RFC 4566, July 2006.
+
+
+
+
+
+
+Kaplan, et al. Standards Track [Page 31]
+
+RFC 6849 SDP Media Loopback February 2013
+
+
+ [RFC4961] Wing, D., "Symmetric RTP / RTP Control Protocol (RTCP)",
+ BCP 131, RFC 4961, July 2007.
+
+ [RFC5234] Crocker, D., Ed., and P. Overell, "Augmented BNF for
+ Syntax Specifications: ABNF", STD 68, RFC 5234,
+ January 2008.
+
+16.2. Informative References
+
+ [RFC5245] Rosenberg, J., "Interactive Connectivity Establishment
+ (ICE): A Protocol for Network Address Translator (NAT)
+ Traversal for Offer/Answer Protocols", RFC 5245,
+ April 2010.
+
+ [RFC5389] Rosenberg, J., Mahy, R., Matthews, P., and D. Wing,
+ "Session Traversal Utilities for NAT (STUN)", RFC 5389,
+ October 2008.
+
+ [RFC5766] Mahy, R., Matthews, P., and J. Rosenberg, "Traversal
+ Using Relays around NAT (TURN): Relay Extensions to
+ Session Traversal Utilities for NAT (STUN)", RFC 5766,
+ April 2010.
+
+ [RFC6263] Marjou, X. and A. Sollaud, "Application Mechanism for
+ Keeping Alive the NAT Mappings Associated with RTP / RTP
+ Control Protocol (RTCP) Flows", RFC 6263, June 2011.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Kaplan, et al. Standards Track [Page 32]
+
+RFC 6849 SDP Media Loopback February 2013
+
+
+Authors' Addresses
+
+ Hadriel Kaplan (editor)
+ Acme Packet
+ 100 Crosby Drive
+ Bedford, MA 01730
+ US
+ EMail: hkaplan@acmepacket.com
+ URI: http://www.acmepacket.com
+
+
+ Kaynam Hedayat
+ EXFO
+ 285 Mill Road
+ Chelmsford, MA 01824
+ US
+ EMail: kh274@cornell.edu
+ URI: http://www.exfo.com/
+
+
+ Nagarjuna Venna
+ Saperix
+ c/o DogPatch Labs
+ One Cambridge Center, 6th Floor
+ Cambridge, MA 02142
+ US
+ EMail: vnagarjuna@saperix.com
+ URI: http://www.saperix.com/
+
+
+ Paul E. Jones
+ Cisco Systems, Inc.
+ 7025 Kit Creek Rd.
+ Research Triangle Park, NC 27709
+ US
+ EMail: paulej@packetizer.com
+ URI: http://www.cisco.com/
+
+
+ Nathan Stratton
+ BlinkMind, Inc.
+ 2027 Briarchester Dr.
+ Katy, TX 77450
+ US
+ EMail: nathan@robotics.net
+ URI: http://www.robotics.net/
+
+
+
+
+
+Kaplan, et al. Standards Track [Page 33]
+