draft-ietf-mmusic-media-loopback-15.txt   draft-ietf-mmusic-media-loopback-16.txt 
Internet Draft K. Hedayat Internet Draft K. Hedayat
Expires: September 11, 2011 EXFO Expires: March 6, 2012 EXFO
N. Venna N. Venna
Saperix Saperix
P. Jones P. Jones
Cisco Systems, Inc. Cisco Systems, Inc.
A. Roychowdhury A. Roychowdhury
Hughes Systique Corp. Hughes Systique Corp.
C. SivaChelvan C. SivaChelvan
Cisco Systems, Inc. Cisco Systems, Inc.
N. Stratton N. Stratton
BlinkMind, Inc. BlinkMind, Inc.
March 11, 2011 September 6, 2011
An Extension to the Session Description Protocol (SDP) for Media An Extension to the Session Description Protocol (SDP) for Media
Loopback Loopback
draft-ietf-mmusic-media-loopback-15 draft-ietf-mmusic-media-loopback-16
Status of this Memo Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with This Internet-Draft is submitted to IETF in full conformance with
the provisions of BCP 78 and BCP 79. the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
skipping to change at page 1, line 43 skipping to change at page 1, line 43
documents at any time. It is inappropriate to use Internet-Drafts documents at any time. It is inappropriate to use Internet-Drafts
as reference material or to cite them other than as "work in as reference material or to cite them other than as "work in
progress." progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt. http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
This Internet-Draft will expire on Septembre 11, 2011. This Internet-Draft will expire on March 6, 2012.
Copyright Notice Copyright Notice
Copyright (c) 2009 IETF Trust and the persons identified as the Copyright (c) 2009 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with carefully, as they describe your rights and restrictions with
respect to this document. Code Components extracted from this respect to this document. Code Components extracted from this
document must include Simplified BSD License text as described in document must include Simplified BSD License text as described in
skipping to change at page 2, line 49 skipping to change at page 2, line 46
means for measurement of more advanced VoIP, Real-time Text and means for measurement of more advanced VoIP, Real-time Text and
Video over IP performance metrics. Video over IP performance metrics.
Table of Contents Table of Contents
1. Introduction .................................................. 3 1. Introduction .................................................. 3
1.1 Use Cases Supported ....................................... 4 1.1 Use Cases Supported ....................................... 4
2. Terminology ................................................... 6 2. Terminology ................................................... 6
3. Offering Entity Behavior ...................................... 6 3. Offering Entity Behavior ...................................... 6
4. Answering Entity Behavior ..................................... 6 4. Answering Entity Behavior ..................................... 6
5. SDP Constructs Syntax ......................................... 7 5. SDP Constructs Syntax ......................................... 6
5.1 Loopback Type Attribute ................................... 7 5.1 Loopback Type Attribute ................................... 6
5.2 Loopback Mode Attribute ................................... 7 5.2 Loopback Mode Attribute ................................... 7
5.3 Generating the Offer for Loopback Session ................. 8 5.3 Generating the Offer for Loopback Session
5.4 Generating the Answer for Loopback Session ................ 9 5.4 Generating the Answer for Loopback Session ................ 9
5.5 Offerer Processing of the Answer ......................... 11 5.5 Offerer Processing of the Answer ......................... 11
5.6 Modifying the Session .................................... 12 5.6 Modifying the Session .................................... 11
5.7 Priming the loopback pump ................................ 12 5.7 Establishing Sessions Between Entities Behind NAT ........ 11
6. RTP Requirements ............................................. 13 6. RTP Requirements ............................................. 11
7. Payload formats for Packet loopback .......................... 13 7. Payload formats for Packet loopback .......................... 12
7.1 Encapsulated Payload format .............................. 14 7.1 Encapsulated Payload format .............................. 12
7.2 Direct loopback RTP payload format ....................... 16 7.2 Direct loopback RTP payload format ....................... 15
8. Payload format for Priming the Loopback Pump ................. 18 8. RTCP Requirements ............................................ 16
8.1 Usage of RTP Header fields ............................... 18 9. Congestion Control ........................................... 16
8.2 Usage of SDP ............................................. 18 10. Examples .................................................... 17
9. RTCP Requirements ............................................ 18 10.1 Offer for specific media loopback type .................. 17
10. Congestion Control .......................................... 19 10.2 Offer for choice of media loopback type ................. 17
11. Examples .................................................... 19 10.3 Response to INVITE request rejecting loopback media ..... 18
11.1 Offer for specific media loopback type .................. 19 11. Security Considerations ..................................... 19
11.2 Offer for choice of media loopback type ................. 20 12. Implementation Considerations ............................... 19
11.3 Offer for choice of media loopback type with loopback 13. IANA Considerations ......................................... 20
primer ....................................................... 21 13.1 SDP Attributes .......................................... 20
11.4 Response to INVITE request rejecting loopback media ..... 22 13.2 MIME Types .............................................. 21
11.5 Response to INVITE request rejecting loopback media with 14. Normative References ........................................ 30
loopback primer payload type ................................. 23
12. Security Considerations ..................................... 23
13. Implementation Considerations ............................... 24
14. IANA Considerations ......................................... 24
14.1 SDP Attributes .......................................... 24
14.2 MIME Types .............................................. 25
15. Additional Authors and Acknowledgements ..................... 39
1. Introduction 1. Introduction
The overall quality, reliability, and performance of VoIP, The overall quality, reliability, and performance of VoIP,
Real-time Text and Video over IP services rely on the performance 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 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 delivered media there is a need to monitor the performance of
the media transport. One method of monitoring and managing the the media transport. One method of monitoring and managing the
overall quality of VoIP, Real-time Text and Video over IP Services overall quality of VoIP, Real-time Text and Video over IP Services
is through monitoring the quality of the media in an active is through monitoring the quality of the media in an active
session. This type of "active monitoring" of services is a method session. This type of "active monitoring" of services is a method
of proactively managing the performance and quality of VoIP based of proactively managing the performance and quality of VoIP based
services. services.
The goal of active monitoring is to measure the media quality of a 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 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., RTCP and RTCP XR endpoint and to provide media statistics (e.g., RTCP and RTCP XR
information). Another method involves deployment of special information). Another method involves deployment of special
endpoints that always loop incoming media back for sessions. endpoints that always loop incoming media back for sessions.
Although the latter method has been used and is functional, it does Although the latter method has been used and is functional, it does
not scale to support large networks and introduces new network not scale to support large networks and introduces new network
management challenges. Further, it does not offer the granularity management challenges. Further, it does not offer the granularity
of testing a specific endpoint that may be exhibiting problems. of testing a specific endpoint that may be exhibiting problems.
The extension defined in this memo introduces new SDP media The extension defined in this memo introduces new SDP media
attributes that enable establishment of media sessions where the attributes that enable establishment of media sessions where the
skipping to change at page 8, line 18 skipping to change at page 7, line 49
The loopback-mode values are loopback-source and loopback-mirror. The loopback-mode values are loopback-source and loopback-mirror.
loopback-source: This attribute specifies that the entity that loopback-source: This attribute specifies that the entity that
generated the SDP is the media source and expects the receiver of generated the SDP is the media source and expects the receiver of
the SDP message to act as a loopback-mirror. the SDP message to act as a loopback-mirror.
loopback-mirror: This attribute specifies that the entity that loopback-mirror: This attribute specifies that the entity that
generated the SDP will mirror (echo) all received media back to the generated the SDP will mirror (echo) all received media back to the
sender of the RTP stream. No media is generated locally by the sender of the RTP stream. No media is generated locally by the
looping back entity for transmission in the mirrored stream unless looping back entity for transmission in the mirrored stream.
the loopback primer payload type (described in Section 8 of this
document) is requested by the loopback-source or included in the
response by loopback-mirror.
<fmt> is a media format description. The format description has the <fmt> is a media format description. The format description has the
semantics as defined in section 5.14 of RFC 4566[RFC4566]. When semantics as defined in section 5.14 of RFC 4566[RFC4566]. When
loopback-mode is specified as loopback-source, the media format loopback-mode is specified as loopback-source, the media format
corresponds to the RTP payload types the entity that generated the corresponds to the RTP payload types the entity that generated the
SDP is willing to send. When loopback-mode is specified as SDP is willing to send. When loopback-mode is specified as
loopback-mirror, the media format corresponds to the RTP payload loopback-mirror, the media format corresponds to the RTP payload
types the mirror is willing to receive. The "m=" line in the SDP types the mirror is willing to receive. The "m=" line in the SDP
MUST include all the payload types that will be used during the MUST include all the payload types that will be used during the
loopback session including those specified in the loopback-mode loopback session including those specified in the loopback-mode
skipping to change at page 12, line 17 skipping to change at page 11, line 37
not supported by the target UA. not supported by the target UA.
5.6 Modifying the Session 5.6 Modifying the Session
At any point during the loopback session, either participant may At any point during the loopback session, either participant may
issue a new offer to modify the characteristics of the previous issue a new offer to modify the characteristics of the previous
session. In case of SIP this is defined in section 8 of RFC 3264 session. In case of SIP this is defined in section 8 of RFC 3264
[RFC3264]. This also includes transitioning from a normal media [RFC3264]. This also includes transitioning from a normal media
processing mode to loopback mode, and vice a versa. processing mode to loopback mode, and vice a versa.
5.7 Priming the loopback pump 5.7 Establishing Sessions Between Entities Behind NAT
ICE/STUN/TURN provide a general solution to establishing media ICE/STUN/TURN provide a general solution to establishing media
sessions between entities that are behind NATs. Loopback sessions sessions between entities that are behind NATs. Loopback sessions
that involve one or more end points behind NATs SHOULD use these that involve one or more end points behind NATs SHOULD use these
general solutions wherever possible. In scenarios where general solutions wherever possible.
ICE/STUN/TURN is not available and where the loopback-mirror is
behind a NAT and the loopback-source has a public IP address, the
following solution MAY be adapted. Note that this solution
addresses only a small subset of all possible use cases but
addresses the expected dominant use case for the loopback
application.
If only the loopback-mirror is behind a NAT, it is possible that
the media transmitted by the loopback-source is blocked by a
network element until the loopback-mirror starts transmitting
packets. One example of this scenario is the presence of an RTP
relay in the path of the media. RTP relays exist in VoIP networks
for purpose of NAT and Firewall traversal. If an RTP relay is
present, the loopback-source's packets are dropped by the RTP relay
until the loopback-mirror has started transmitting media and the
media state within the RTP relay is established. This results in a
chicken and egg scenario as the looback-mirror cannot transmit any
media until it receives the media packets from the loopback-source
but for the loopback-mirror to receive any packets it needs to send
one first. In order to resolve this dilemma, Section 8 introduces a
new media format whose sole purpose is to establish the media state
in the intermediate devices. In the presence of this media format,
the loopback-mirror will transmit media according to the payload
description until it receives media from the loopback-source. The
loopback-mirror MAY include this media format in the answer if it
is not present in the offer. This may be necessary if the
loopback-mirror is aware of NATs, firewalls, or RTP relays on the
path of the call. In this case the loopback-source MUST accept
media corresponding to this media format. After the first media
packet is received from the loopback-source, the loopback-mirror
MUST terminate the transmission of media for this payload type and
MUST start looping back media as defined by the other loopback
attributes present in the offer.
6. RTP Requirements 6. RTP Requirements
A loopback-mirror that is compliant to this specification and A loopback-mirror that is compliant to this specification and
accepting a media with rtp-pkt-loopback loopback-type MUST loopback accepting a media with rtp-pkt-loopback loopback-type MUST loopback
the incoming RTP packets using either the encapsulated RTP payload the incoming RTP packets using either the encapsulated RTP payload
format or the direct loopback RTP payload format as defined in format or the direct loopback RTP payload format as defined in
section 7 of this specification. section 7 of this specification.
An answering entity that is compliant to this specification and An answering entity that is compliant to this specification and
skipping to change at page 18, line 5 skipping to change at page 16, line 25
type assignment for the stream, so dynamic payload type numbers type assignment for the stream, so dynamic payload type numbers
MUST be used. The binding to the name is indicated by an rtpmap MUST be used. The binding to the name is indicated by an rtpmap
attribute. The name used in this binding is "rtploopback". attribute. The name used in this binding is "rtploopback".
The following is an example SDP fragment for direct loopback RTP The following is an example SDP fragment for direct loopback RTP
format. format.
m=audio 41352 RTP/AVP 112 m=audio 41352 RTP/AVP 112
a=rtpmap:112 rtploopback/8000 a=rtpmap:112 rtploopback/8000
8. Payload format for Priming the Loopback Pump 8. RTCP Requirements
The sole purpose of the payload format described in this section is
to prime the loopback pump in cases where the loopback process
cannot start because of intermediate devices in the network as
described in Section 5.7. The loopback-mirror MAY send payload data
of any length and any content as it desires and the loopback-source
MUST NOT interpret the payload data. This payload format MUST NOT
be used for any purpose other than priming the loopback pump.
8.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 8.2 defines the name binding).
All other fields are set as described in RFC 3550 [RFC3550].
8.2 Usage of SDP
The payload type number for the loopback primer stream can be
negotiated using a mechanism like SDP. There is no static payload
type assignment for the loopback primer 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
"loopbkprimer".
The following is an example SDP fragment for loopback primer RTP
stream.
m=audio 41352 RTP/AVP 112
a=rtpmap:112 loopbkprimer/8000
9. RTCP Requirements
The use of the loopback attribute is intended for monitoring of The use of the loopback attribute is intended for monitoring of
media quality of the session. Consequently the media performance media quality of the session. Consequently the media performance
information should be exchanged between the offering and the information should be exchanged between the offering and the
answering entities. An offering or answering entity that is answering entities. An offering or answering entity that is
compliant to this specification SHOULD support RTCP per [RFC3550] compliant to this specification SHOULD support RTCP per [RFC3550]
and RTCP-XR per RFC 3611 [RFC3611]. Furthermore, if the client or and RTCP-XR per RFC 3611 [RFC3611]. Furthermore, if the client or
the server choose to support RTCP-XR, they SHOULD support RTCP-XR the server choose to support RTCP-XR, they SHOULD support RTCP-XR
Loss RLE report block, Duplicate RLE report block, Statistics Loss RLE report block, Duplicate RLE report block, Statistics
Summary report block, and VoIP Metric Reports Block per sections Summary report block, and VoIP Metric Reports Block per sections
4.1, 4.2, 4.6, and 4.7 of RFC 3611 [RFC3611]. The client and the 4.1, 4.2, 4.6, and 4.7 of RFC 3611 [RFC3611]. The client and the
server MAY support other RTCP-XR reporting blocks as defined by RFC server MAY support other RTCP-XR reporting blocks as defined by RFC
3611 [RFC3611]. 3611 [RFC3611].
10. Congestion Control 9. Congestion Control
All the participants in a loopback session SHOULD implement All the participants in a loopback session SHOULD implement
congestion control mechanisms as defined by the RTP profile under congestion control mechanisms as defined by the RTP profile under
which the loopback mechanism is implemented. For audio video which the loopback mechanism is implemented. For audio video
profiles, implementations SHOULD conform to the mechanism defined profiles, implementations SHOULD conform to the mechanism defined
in Section 2 of RFC 3551. in Section 2 of RFC 3551.
11. Examples 10. Examples
This section provides examples for media descriptions using SDP for This section provides examples for media descriptions using SDP for
different scenarios. The examples are given for SIP-based different scenarios. The examples are given for SIP-based
transactions and are abbreviated and do not show the complete transactions and are abbreviated and do not show the complete
signaling for convenience. signaling for convenience.
11.1 Offer for specific media loopback type 10.1 Offer for specific media loopback type
A client sends an INVITE request with offer SDP which looks like: A client sends an INVITE request with offer SDP which looks like:
v=0 v=0
o=alice 2890844526 2890842807 IN IP4 host.atlanta.example.com o=alice 2890844526 2890842807 IN IP4 host.atlanta.example.com
s=Example s=Example
i=An example session i=An example session
e=alice@example.com e=alice@example.com
c=IN IP4 host.atlanta.example.com c=IN IP4 host.atlanta.example.com
t=0 0 t=0 0
skipping to change at page 20, line 20 skipping to change at page 17, line 48
c=IN IP4 host.biloxi.example.com c=IN IP4 host.biloxi.example.com
t=0 0 t=0 0
m=audio 49270 RTP/AVP 0 m=audio 49270 RTP/AVP 0
a=loopback:rtp-media-loopback a=loopback:rtp-media-loopback
a=loopback-mirror:0 a=loopback-mirror:0
a=rtpmap:0 pcmu/8000 a=rtpmap:0 pcmu/8000
The server is accepting to mirror the media from the client at the The server is accepting to mirror the media from the client at the
media level. media level.
11.2 Offer for choice of media loopback type 10.2 Offer for choice of media loopback type
A client sends an INVITE request with offer SDP which looks like: A client sends an INVITE request with offer SDP which looks like:
v=0 v=0
o=alice 2890844526 2890842807 IN IP4 host.atlanta.example.com o=alice 2890844526 2890842807 IN IP4 host.atlanta.example.com
s=Example s=Example
i=An example session i=An example session
e=alice@example.com e=alice@example.com
c=IN IP4 host.atlanta.example.com c=IN IP4 host.atlanta.example.com
t=0 0 t=0 0
m=audio 49170 RTP/AVP 0 112 113 m=audio 49170 RTP/AVP 0 112 113
skipping to change at page 21, line 12 skipping to change at page 18, line 41
t=0 0 t=0 0
m=audio 49270 RTP/AVP 0 112 m=audio 49270 RTP/AVP 0 112
a=loopback:rtp-pkt-loopback a=loopback:rtp-pkt-loopback
a=loopback-mirror:0 a=loopback-mirror:0
a=rtpmap:0 pcmu/8000 a=rtpmap:0 pcmu/8000
a=rtpmap:112 encaprtp/8000 a=rtpmap:112 encaprtp/8000
The server is accepting to mirror the media from the client at the The server is accepting to mirror the media from the client at the
packet level using the encapsulated RTP payload format. packet level using the encapsulated RTP payload format.
11.3 Offer for choice of media loopback type with loopback primer 10.3 Response to INVITE request rejecting loopback media
A client sends an INVITE request with offer SDP which looks like:
v=0
o=alice 2890844526 2890842807 IN IP4 host.atlanta.example.com
s=Example
i=An example session
e=alice@example.com
c=IN IP4 host.atlanta.example.com
t=0 0
m=audio 49170 RTP/AVP 0 112 113 114
a=loopback:rtp-media-loopback rtp-pkt-loopback
a=loopback-source:0
a=rtpmap:0 pcmu/8000
a=rtpmap:112 encaprtp/8000
a=rtpmap:113 rtploopback/8000
a=rtpmap:114 loopbkprimer/8000
The client is offering to source the media and expects the server
to mirror the RTP stream at either the media or rtp level. The
client also expects the server to source media until it receives
packets from the server per media described with the loopbkprimer
payload type.
A server sends a response with SDP which looks like:
v=0
o=bob 2890844526 2890842807 IN IP4 host.biloxi.example.com
s=Example
i=An example session
e=user@example.com
c=IN IP4 host.biloxi.example.com
t=0 0
m=audio 49270 RTP/AVP 0 113 114
a=loopback:rtp-pkt-loopback
a=loopback-mirror:0 114
a=rtpmap:0 pcmu/8000
a=rtpmap:113 rtploopback/8000
a=rtmap:114 loopbkprimer/8000
The server is accepting to mirror the media from the client at the
packet level using the direct loopback RTP payload format. The
server is also accepting to source media until it receives media
packets from the client.
11.4 Response to INVITE request rejecting loopback media
A client sends an INVITE request with offer SDP which looks like: A client sends an INVITE request with offer SDP which looks like:
v=0 v=0
o=alice 2890844526 2890842807 IN IP4 host.atlanta.example.com o=alice 2890844526 2890842807 IN IP4 host.atlanta.example.com
s=Example s=Example
i=An example session i=An example session
e=user@example.com e=user@example.com
c=IN IP4 host.atlanta.example.com c=IN IP4 host.atlanta.example.com
t=0 0 t=0 0
skipping to change at page 23, line 5 skipping to change at page 19, line 31
t=0 0 t=0 0
m=audio 0 RTP/AVP 0 m=audio 0 RTP/AVP 0
a=loopback:rtp-media-loopback a=loopback:rtp-media-loopback
a=loopback-mirror:0 a=loopback-mirror:0
a=rtpmap:0 pcmu/8000 a=rtpmap:0 pcmu/8000
NOTE: Loopback request may be rejected by either not including the NOTE: Loopback request may be rejected by either not including the
loopback mode attribute (for backward compatibility) or setting the loopback mode attribute (for backward compatibility) or setting the
media port number to zero, or both, in the response. media port number to zero, or both, in the response.
11.5 Response to INVITE request rejecting loopback media with 11. Security Considerations
loopback primer payload type
A client sends an INVITE request with offer SDP which looks like:
v=0
o=alice 2890844526 2890842807 IN IP4 host.atlanta.example.com
s=Example
i=An example session
e=alice@example.com
c=IN IP4 host.atlanta.example.com
t=0 0
m=audio 49170 RTP/AVP 0 100
a=loopback:rtp-media-loopback
a=loopback-source:0
a=rtpmap:0 pcmu/8000
a=rtpmap:100 loopbkprimer/8000
The client is offering to source the media and expects the server
to mirror the RTP stream at the media level. The client (offerer)
also expects the server (answerer) to source media until it
receives packets from the server using the loopbkprimer payload
type.
A server sends a response with answer SDP which looks like:
v=0
o=bob 2890844526 2890842807 IN IP4 host.biloxi.example.com
s=Example
i=An example session
e=bob@example.com
c=IN IP4 host.biloxi.example.com
t=0 0
m=audio 0 RTP/AVP 0
a=loopback:rtp-media-loopback
a=loopback-mirror:0
NOTE: Loopback request may be rejected by either not including the
loopback mode attribute (for backward compatibility) or setting the
media port number to zero, or both, in the response.
12. Security Considerations
The security considerations of [RFC3261] and [RFC3264] apply. The security considerations of [RFC3261] and [RFC3264] apply.
Furthermore, given that media loopback may be automated without the Furthermore, given that media loopback may be automated without the
end user's knowledge, the server of the media loopback should be end user's knowledge, the server of the media loopback should be
aware of denial of service attacks. It is recommended that sessions aware of denial of service attacks. It is recommended that sessions
with media loopback are authenticated and the frequency of such with media loopback are authenticated and the frequency of such
sessions is limited by the server. sessions is limited by the server.
13. Implementation Considerations 12. Implementation Considerations
The media loopback approach described in this document is a The media loopback approach described in this document is a
complete solution that would work under all scenarios. However, it complete solution that would work under all scenarios. However, it
is believed that the solution may not be light-weight enough for is believed that the solution may not be light-weight enough for
the common case. In light of this concern, this section clarifies the common case. In light of this concern, this section clarifies
which features of the loopback proposal MUST be implemented for all which features of the loopback proposal MUST be implemented for all
implementations and which features MAY be deferred if the complete implementations and which features MAY be deferred if the complete
solution is not desired. solution is not desired.
All implementations MUST support the rtp-pkt-loopback option for All implementations MUST support the rtp-pkt-loopback option for
loopback-type attribute. In addition, for the loopback-mode loopback-type attribute. In addition, for the loopback-mode
attribute, all implementations of an offerer MUST at a minimum be attribute, all implementations of an offerer MUST at a minimum be
able to act as a loopback-source. All implementation MUST also at a able to act as a loopback-source. All implementation MUST also at a
minimum support the direct media loopback payload type. The rtp- minimum support the direct media loopback payload type. The rtp-
media-loopback attribute MAY be implemented in complete media-loopback attribute MAY be implemented in complete
implementations of this draft. implementations of this draft.
14. IANA Considerations 13. IANA Considerations
14.1 SDP Attributes 13.1 SDP Attributes
This document defines three new media-level SDP attributes. IANA This document defines three new media-level SDP attributes. IANA
has registered the following attributes: has registered the following attributes:
Contact name: Kaynam Hedayat Contact name: Kaynam Hedayat
<kaynam.hedayat@exfo.com>. <kaynam.hedayat@exfo.com>.
Attribute name: "loopback". Attribute name: "loopback".
Type of attribute: Media level. Type of attribute: Media level.
Subject to charset: No. Subject to charset: No.
Purpose of attribute: The 'loopback' attribute is used to Purpose of attribute: The 'loopback' attribute is used to
skipping to change at page 25, line 20 skipping to change at page 21, line 4
as a loopback-mirror. as a loopback-mirror.
Allowed attribute values: The parameter to 'loopback-source' is Allowed attribute values: The parameter to 'loopback-source' is
a media format ("<fmt>") description a media format ("<fmt>") description
as defined in RFC 4566 Section 5.14. as defined in RFC 4566 Section 5.14.
Contact name: Kaynam Hedayat Contact name: Kaynam Hedayat
<kaynam.hedayat@exfo.com>. <kaynam.hedayat@exfo.com>.
Attribute name: "loopback-mirror". Attribute name: "loopback-mirror".
Type of attribute: Media level. Type of attribute: Media level.
Subject to charset: No. Subject to charset: No.
Purpose of attribute: The 'loopback-mirror' attribute Purpose of attribute: The 'loopback-mirror' attribute
specifies that the receiver will specifies that the receiver will
mirror (echo) all received media back mirror (echo) all received media back
to the sender of the RTP stream. to the sender of the RTP stream.
Allowed attribute values: The parameter to 'loopback-mirror' is Allowed attribute values: The parameter to 'loopback-mirror' is
a media format ("<fmt>") description a media format ("<fmt>") description
as defined in RFC 4566 Section 5.14. as defined in RFC 4566 Section 5.14.
14.2 MIME Types 13.2 MIME Types
The IANA has registered the following MIME types: The IANA has registered the following MIME types:
14.2.1 audio/encaprtp 13.2.1 audio/encaprtp
To: ietf-types@iana.org To: ietf-types@iana.org
Subject: Registration of media type audio/encaprtp Subject: Registration of media type audio/encaprtp
Type name: audio Type name: audio
Subtype name: encaprtp Subtype name: encaprtp
Required parameters: Required parameters:
skipping to change at page 26, line 38 skipping to change at page 22, line 22
framing, and hence is only defined for transfer via framing, and hence is only defined for transfer via
RTP. Transfer within other framing protocols is not RTP. Transfer within other framing protocols is not
defined at this time. defined at this time.
Author: Author:
Kaynam Hedayat. Kaynam Hedayat.
Change controller: IETF Audio/Video Transport working Change controller: IETF Audio/Video Transport working
group delegated from the IESG. group delegated from the IESG.
14.2.2 video/encaprtp 13.2.2 video/encaprtp
To: ietf-types@iana.org To: ietf-types@iana.org
Subject: Registration of media type video/encaprtp Subject: Registration of media type video/encaprtp
Type name: video Type name: video
Subtype name: encaprtp Subtype name: encaprtp
Required parameters: Required parameters:
skipping to change at page 27, line 46 skipping to change at page 23, line 30
framing, and hence is only defined for transfer via framing, and hence is only defined for transfer via
RTP. Transfer within other framing protocols is not RTP. Transfer within other framing protocols is not
defined at this time. defined at this time.
Author: Author:
Kaynam Hedayat. Kaynam Hedayat.
Change controller: IETF Audio/Video Transport working Change controller: IETF Audio/Video Transport working
group delegated from the IESG. group delegated from the IESG.
14.2.3 text/encaprtp 13.2.3 text/encaprtp
To: ietf-types@iana.org To: ietf-types@iana.org
Subject: Registration of media type text/encaprtp Subject: Registration of media type text/encaprtp
Type name: text Type name: text
Subtype name: encaprtp Subtype name: encaprtp
Required parameters: Required parameters:
rate:RTP timestamp clock rate, which is equal to the rate:RTP timestamp clock rate, which is equal to the
sampling rate. The typical rate is 8000; other rates sampling rate. The typical rate is 8000; other rates
may be specified. may be specified.
Optional parameters: none Optional parameters: none
skipping to change at page 28, line 49 skipping to change at page 24, line 35
framing, and hence is only defined for transfer via framing, and hence is only defined for transfer via
RTP. Transfer within other framing protocols is not RTP. Transfer within other framing protocols is not
defined at this time. defined at this time.
Author: Author:
Kaynam Hedayat. Kaynam Hedayat.
Change controller: IETF Audio/Video Transport working Change controller: IETF Audio/Video Transport working
group delegated from the IESG. group delegated from the IESG.
14.2.4 application/encaprtp 13.2.4 application/encaprtp
To: ietf-types@iana.org To: ietf-types@iana.org
Subject: Registration of media type Subject: Registration of media type
application/encaprtp application/encaprtp
Type name: application Type name: application
Subtype name: encaprtp Subtype name: encaprtp
Required parameters: Required parameters:
skipping to change at page 30, line 8 skipping to change at page 25, line 39
framing, and hence is only defined for transfer via framing, and hence is only defined for transfer via
RTP. Transfer within other framing protocols is not RTP. Transfer within other framing protocols is not
defined at this time. defined at this time.
Author: Author:
Kaynam Hedayat. Kaynam Hedayat.
Change controller: IETF Audio/Video Transport working Change controller: IETF Audio/Video Transport working
group delegated from the IESG. group delegated from the IESG.
14.2.5 audio/rtploopback 13.2.5 audio/rtploopback
To: ietf-types@iana.org To: ietf-types@iana.org
Subject: Registration of media type audio/rtploopback Subject: Registration of media type audio/rtploopback
Type name: audio Type name: audio
Subtype name: rtploopback Subtype name: rtploopback
Required parameters: Required parameters:
skipping to change at page 31, line 11 skipping to change at page 26, line 46
framing, and hence is only defined for transfer via framing, and hence is only defined for transfer via
RTP. Transfer within other framing protocols is not RTP. Transfer within other framing protocols is not
defined at this time. defined at this time.
Author: Author:
Kaynam Hedayat. Kaynam Hedayat.
Change controller: IETF Audio/Video Transport working Change controller: IETF Audio/Video Transport working
group delegated from the IESG. group delegated from the IESG.
14.2.6 video/rtploopback 13.2.6 video/rtploopback
To: ietf-types@iana.org To: ietf-types@iana.org
Subject: Registration of media type video/rtploopback Subject: Registration of media type video/rtploopback
Type name: video Type name: video
Subtype name: rtploopback Subtype name: rtploopback
Required parameters: Required parameters:
rate:RTP timestamp clock rate, which is equal to the rate:RTP timestamp clock rate, which is equal to the
sampling rate. The typical rate is 8000; other rates sampling rate. The typical rate is 8000; other rates
may be specified. may be specified.
Optional parameters: none Optional parameters: none
skipping to change at page 32, line 15 skipping to change at page 27, line 49
framing, and hence is only defined for transfer via framing, and hence is only defined for transfer via
RTP. Transfer within other framing protocols is not RTP. Transfer within other framing protocols is not
defined at this time. defined at this time.
Author: Author:
Kaynam Hedayat. Kaynam Hedayat.
Change controller: IETF Audio/Video Transport working Change controller: IETF Audio/Video Transport working
group delegated from the IESG. group delegated from the IESG.
14.2.7 text/rtploopback 13.2.7 text/rtploopback
To: ietf-types@iana.org To: ietf-types@iana.org
Subject: Registration of media type text/rtploopback Subject: Registration of media type text/rtploopback
Type name: text Type name: text
Subtype name: rtploopback Subtype name: rtploopback
Required parameters: Required parameters:
rate:RTP timestamp clock rate, which is equal to the rate:RTP timestamp clock rate, which is equal to the
sampling rate. The typical rate is 8000; other rates sampling rate. The typical rate is 8000; other rates
skipping to change at page 33, line 21 skipping to change at page 29, line 5
framing, and hence is only defined for transfer via framing, and hence is only defined for transfer via
RTP. Transfer within other framing protocols is not RTP. Transfer within other framing protocols is not
defined at this time. defined at this time.
Author: Author:
Kaynam Hedayat. Kaynam Hedayat.
Change controller: IETF Audio/Video Transport working Change controller: IETF Audio/Video Transport working
group delegated from the IESG. group delegated from the IESG.
14.2.8 application/rtploopback 13.2.8 application/rtploopback
To: ietf-types@iana.org To: ietf-types@iana.org
Subject: Registration of media type Subject: Registration of media type
application/rtploopback application/rtploopback
Type name: application Type name: application
Subtype name: rtploopback Subtype name: rtploopback
skipping to change at page 34, line 27 skipping to change at page 30, line 11
framing, and hence is only defined for transfer via framing, and hence is only defined for transfer via
RTP. Transfer within other framing protocols is not RTP. Transfer within other framing protocols is not
defined at this time. defined at this time.
Author: Author:
Kaynam Hedayat. Kaynam Hedayat.
Change controller: IETF Audio/Video Transport working Change controller: IETF Audio/Video Transport working
group delegated from the IESG. group delegated from the IESG.
14.2.9 audio/loopbkprimer 14. Normative References
To: ietf-types@iana.org
Subject: Registration of media type audio/loopbkprimer
Type name: audio
Subtype name: loopbkprimer
Required parameters:
rate:RTP timestamp clock rate, which is equal to the
sampling rate. The typical rate is 8000; other rates
may be specified.
Optional parameters: none
Encoding considerations: This media type is framed
binary data.
Security considerations: See Section 12 of this document.
Interoperability considerations: none
Published specification: This MIME type is described fully
within this document.
Applications which use this media type: Applications wishing
to monitor and ensure the quality of transport to the
edge of a given VoIP, Real-Time Text or Video Over IP
Service.
Additional information: none
Person & email address to contact for further information:
Kaynam Hedayat
EMail: kaynam.hedayat@exfo.com
Intended usage: COMMON
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 Audio/Video Transport working
group delegated from the IESG.
14.2.10 video/loopbkprimer
To: ietf-types@iana.org
Subject: Registration of media type video/loopbkprimer
Type name: video
Subtype name: loopbkprimer
Required parameters:
rate:RTP timestamp clock rate, which is equal to the
sampling rate. The typical rate is 8000; other rates
may be specified.
Optional parameters: none
Encoding considerations: This media type is framed
binary data.
Security considerations: See Section 12 of this document.
Interoperability considerations: none
Published specification: This MIME type is described fully
within this document.
Applications which use this media type: Applications wishing
to monitor and ensure the quality of transport to the
edge of a given VoIP, Real-Time Text or Video Over IP
Service.
Additional information: none
Person & email address to contact for further information:
Kaynam Hedayat
EMail: kaynam.hedayat@exfo.com
Intended usage: COMMON
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 Audio/Video Transport working
group delegated from the IESG.
14.2.11 text/loopbkprimer
To: ietf-types@iana.org
Subject: Registration of media type text/loopbkprimer
Type name: text
Subtype name: encaprtp
Required parameters:
rate:RTP timestamp clock rate, which is equal to the
sampling rate. The typical rate is 8000; other rates
may be specified.
Optional parameters: none
Encoding considerations: This media type is framed
binary data.
Security considerations: See Section 12 of this document.
Interoperability considerations: none
Published specification: This MIME type is described fully
within this document.
Applications which use this media type: Applications wishing
to monitor and ensure the quality of transport to the
edge of a given VoIP, Real-Time Text or Video Over IP
Service.
Additional information: none
Person & email address to contact for further information:
Kaynam Hedayat
EMail: kaynam.hedayat@exfo.com
Intended usage: COMMON
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 Audio/Video Transport working
group delegated from the IESG.
14.2.12 application/loopbkprimer
To: ietf-types@iana.org
Subject: Registration of media type
application/loopbkprimer
Type name: application
Subtype name: loopbkprimer
Required parameters:
rate:RTP timestamp clock rate, which is equal to the
sampling rate. The typical rate is 8000; other rates
may be specified.
Optional parameters: none
Encoding considerations: This media type is framed
binary data.
Security considerations: See Section 12 of this document.
Interoperability considerations: none
Published specification: This MIME type is described fully
within this document.
Applications which use this media type: Applications wishing
to monitor and ensure the quality of transport to the
edge of a given VoIP, Real-Time Text or Video Over IP
Service.
Additional information: none
Person & email address to contact for further information:
Kaynam Hedayat
EMail: kaynam.hedayat@exfo.com
Intended usage: COMMON
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 Audio/Video Transport working
group delegated from the IESG.
15. Additional Authors and Acknowledgements
The following people have contributed to the task of authoring this
document: Chelliah Sivachelvan (Cisco).
The authors acknowledge the contributions and comments of , Muthu
ArulMozhi Perumal, Flemming Andreasen, Jeff Bernstein, Paul
Kyzivat, and Dave Oran.
16. Normative References
[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G.,
Johnston, A., Peterson, J., Sparks, R., Handley, M. Johnston, A., Peterson, J., Sparks, R., Handley, M.
and E. Schooler, "SIP: Session Initiation Protocol", and E. Schooler, "SIP: Session Initiation Protocol",
RFC 3261, June 2002. RFC 3261, June 2002.
[RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer [RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer
Model with the Session Description Protocol (SDP)", Model with the Session Description Protocol (SDP)",
RFC 3264, June 2002. RFC 3264, June 2002.
 End of changes. 36 change blocks. 
439 lines changed or deleted 52 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/