draft-ietf-mmusic-media-loopback-20.txt | draft-ietf-mmusic-media-loopback-21.txt | |||
---|---|---|---|---|
Internet Draft H. Kaplan (ed.) | MMUSIC Working Group H. Kaplan (ed.) | |||
Expires: January 30, 2012 Acme Packet | Internet-Draft Acme Packet | |||
K. Hedayat | Intended status: Proposed Standard K. Hedayat | |||
EXFO | Expires: February 6, 2013 EXFO | |||
N. Venna | N. Venna | |||
Saperix | Saperix | |||
P. Jones | P. Jones | |||
Cisco Systems, Inc. | Cisco Systems, Inc. | |||
N. Stratton | N. Stratton | |||
BlinkMind, Inc. | BlinkMind, Inc. | |||
July 30, 2012 | August 6, 2012 | |||
An Extension to the Session Description Protocol (SDP) | An Extension to the Session Description Protocol (SDP) | |||
and Real-time Transport Protocol (RTP) for Media Loopback | and Real-time Transport Protocol (RTP) for Media Loopback | |||
draft-ietf-mmusic-media-loopback-20 | draft-ietf-mmusic-media-loopback-21 | |||
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). Note that other groups may also distribute | |||
other groups may also distribute working documents as Internet- | working documents as Internet-Drafts. The list of current | |||
Drafts. | Internet-Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six | Internet-Drafts are draft documents valid for a maximum of six | |||
months and may be updated, replaced, or obsoleted by other | months and may be updated, replaced, or obsoleted by other | |||
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 | This Internet-Draft will expire on February 6, 2013 | |||
http://www.ietf.org/ietf/1id-abstracts.txt. | ||||
The list of Internet-Draft Shadow Directories can be accessed at | ||||
http://www.ietf.org/shadow.html. | ||||
This Internet-Draft will expire on January 30, 2012. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2012 IETF Trust and the persons identified as the | Copyright (c) 2012 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 | |||
skipping to change at page 2, line 38 | skipping to change at page 2, line 33 | |||
attributes, which enable establishment of media sessions where the | attributes, which enable establishment of media sessions where the | |||
media is looped back to the transmitter. Such media sessions will | media is looped back to the transmitter. Such media sessions will | |||
serve as monitoring and troubleshooting tools by providing the | serve as monitoring and troubleshooting tools by providing the | |||
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...................................................5 | |||
3. Overview of Operation.........................................6 | 3. Overview of Operation.........................................6 | |||
3.1 SDP Offerer Behavior......................................6 | 3.1 SDP Offerer Behavior......................................6 | |||
3.2 SDP Answerer Behavior.....................................6 | 3.2 SDP Answerer Behavior.....................................6 | |||
4. New SDP Attributes............................................7 | 4. New SDP Attributes............................................7 | |||
4.1 Loopback Type Attribute...................................7 | 4.1 Loopback Type Attribute...................................7 | |||
4.2 Loopback Role Attributes: loopback-source and loopback- | 4.2 Loopback Role Attributes: loopback-source and loopback- | |||
mirror........................................................8 | mirror........................................................8 | |||
5. Rules for Generating the SDP offer/answer.....................9 | 5. Rules for Generating the SDP offer/answer.....................9 | |||
5.1 Generating the SDP Offer for Loopback Session.............9 | 5.1 Generating the SDP Offer for Loopback Session.............9 | |||
5.2 Generating the SDP Answer for Loopback Session...........10 | 5.2 Generating the SDP Answer for Loopback Session...........10 | |||
5.3 Offerer Processing of the SDP Answer.....................11 | 5.3 Offerer Processing of the SDP Answer.....................12 | |||
5.4 Modifying the Session....................................12 | 5.4 Modifying the Session....................................12 | |||
5.5 Establishing Sessions Between Entities Behind NAT........12 | 5.5 Establishing Sessions Between Entities Behind NAT........12 | |||
6. RTP Requirements.............................................12 | 6. RTP Requirements.............................................12 | |||
7. Payload formats for Packet loopback..........................13 | 7. Payload formats for Packet loopback..........................13 | |||
7.1 Encapsulated Payload format..............................13 | 7.1 Encapsulated Payload format..............................13 | |||
7.2 Direct loopback RTP payload format.......................16 | 7.2 Direct loopback RTP payload format.......................16 | |||
8. SRTP Behavior................................................17 | 8. SRTP Behavior................................................17 | |||
9. RTCP Requirements............................................17 | 9. RTCP Requirements............................................17 | |||
10. Congestion Control..........................................18 | 10. Congestion Control..........................................18 | |||
11. Examples....................................................18 | 11. Examples....................................................18 | |||
11.1 Offer for specific media loopback type..................18 | 11.1 Offer for specific media loopback type..................18 | |||
11.2 Offer for choice of media loopback type.................19 | 11.2 Offer for choice of media loopback type.................19 | |||
11.3 Answerer rejecting loopback media.......................20 | 11.3 Answerer rejecting loopback media.......................20 | |||
12. Security Considerations.....................................20 | 12. Security Considerations.....................................20 | |||
13. Implementation Considerations...............................21 | 13. Implementation Considerations...............................21 | |||
14. IANA Considerations.........................................22 | 14. IANA Considerations.........................................22 | |||
skipping to change at page 3, line 19 | skipping to change at page 3, line 15 | |||
8. SRTP Behavior................................................17 | 8. SRTP Behavior................................................17 | |||
9. RTCP Requirements............................................17 | 9. RTCP Requirements............................................17 | |||
10. Congestion Control..........................................18 | 10. Congestion Control..........................................18 | |||
11. Examples....................................................18 | 11. Examples....................................................18 | |||
11.1 Offer for specific media loopback type..................18 | 11.1 Offer for specific media loopback type..................18 | |||
11.2 Offer for choice of media loopback type.................19 | 11.2 Offer for choice of media loopback type.................19 | |||
11.3 Answerer rejecting loopback media.......................20 | 11.3 Answerer rejecting loopback media.......................20 | |||
12. Security Considerations.....................................20 | 12. Security Considerations.....................................20 | |||
13. Implementation Considerations...............................21 | 13. Implementation Considerations...............................21 | |||
14. IANA Considerations.........................................22 | 14. IANA Considerations.........................................22 | |||
[Note to RFC Editor: Please replace "XXXX" with the appropriate RFC | ||||
number on publication]..........................................22 | ||||
14.1 SDP Attributes..........................................22 | 14.1 SDP Attributes..........................................22 | |||
14.2 Media Types.............................................22 | 14.2 Media Types.............................................23 | |||
15. Acknowledgements............................................31 | 15. Acknowledgements............................................31 | |||
16. Normative References........................................31 | 16. Normative References........................................31 | |||
17. Informative References......................................32 | 17. Informative References......................................32 | |||
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 real-time VoIP, Text and Video over IP Services | overall quality of real-time VoIP, 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 | |||
skipping to change at page 6, line 5 | skipping to change at page 5, line 40 | |||
type. The packet is taken as close as possible to the analog level, | type. The packet is taken as close as possible to the analog level, | |||
then re-encoded according to an outgoing format determined by SDP | then re-encoded according to an outgoing format determined by SDP | |||
negotiation. The reencoded content is returned to the loopback | negotiation. The reencoded content is returned to the loopback | |||
source as an RTP packet with payload type corresponding to the | source as an RTP packet with payload type corresponding to the | |||
reencoding format. | reencoding format. | |||
This usage allows trouble-shooting at the codec level. The | This usage allows trouble-shooting at the codec level. The | |||
capability for path statistics is limited to what is available from | capability for path statistics is limited to what is available from | |||
RTCP reports. | RTCP reports. | |||
2. Terminology | 2. Terminology | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in | |||
this document are to be interpreted as described in RFC 2119. | this document are to be interpreted as described in RFC 2119. | |||
SDP: Session Description Protocol, as defined in [RFC4566]. This | SDP: Session Description Protocol, as defined in [RFC4566]. This | |||
document assumes the SDP offer/answer model is followed, per | document assumes the SDP offer/answer model is followed, per | |||
[RFC3264], but does not assume any specific signaling protocol for | [RFC3264], but does not assume any specific signaling protocol for | |||
carrying the SDP. | carrying the SDP. | |||
The following terms are borrowed from [RFC3264] definitions: offer, | The following terms are borrowed from [RFC3264] definitions: offer, | |||
offerer, answer, answerer, and agent. | offerer, answer, answerer, and agent. | |||
3. Overview of Operation | 3. Overview of Operation | |||
This document defines two loopback 'types', two 'roles', and two | This document defines two loopback 'types', two 'roles', and two | |||
encoding formats for loopback. For any given SDP offerer or | encoding formats for loopback. For any given SDP offerer or | |||
answerer pair, one side is the source of RTP packets, while the | answerer pair, one side is the source of RTP packets, while the | |||
other is the mirror looping packets/media back. Those define the | other is the mirror looping packets/media back. Those define the | |||
two loopback roles. As the mirror, two 'types' of loopback can be | two loopback roles. As the mirror, two 'types' of loopback can be | |||
performed: packet-level or media-level. When media-level is used, | performed: packet-level or media-level. When media-level is used, | |||
there is no further choice of encoding format - there is only one | there is no further choice of encoding format - there is only one | |||
format: whatever is indicated for normal media, since the "looping" | format: whatever is indicated for normal media, since the "looping" | |||
is performed at the codec level. When packet-level looping is | is performed at the codec level. When packet-level looping is | |||
performed, however, the mirror can either send back RTP in an | performed, however, the mirror can either send back RTP in an | |||
encapsulated format or direct-loopback format. The rest of this | encapsulated format or direct-loopback format. The rest of this | |||
document describes these loopback types, roles, and encoding | document describes these loopback types, roles, and encoding | |||
formats, and the SDP offer/answer rules for indicating them. | formats, and the SDP offer/answer rules for indicating them. | |||
3.1 SDP Offerer Behavior | 3.1 SDP Offerer Behavior | |||
An SDP offerer compliant to this memo and attempting to establish a | An SDP offerer compliant to this memo and attempting to establish a | |||
media session with media loopback MUST include "loopback" media | media session with media loopback MUST include "loopback" media | |||
attributes for each individual media description in the offer | attributes for each individual media description in the offer | |||
message. The offerer MUST look for the "loopback" media attributes | message. The offerer MUST look for the "loopback" media attributes | |||
in the media description(s) of the response from the answer for | in the media description(s) of the response from the answer for | |||
confirmation that the request is accepted. | confirmation that the request is accepted. | |||
3.2 SDP Answerer Behavior | 3.2 SDP Answerer Behavior | |||
An SDP answerer compliant to this specification and receiving an | An SDP answerer compliant to this specification and receiving an | |||
offer containing media descriptions with the "loopback" media | offer containing media descriptions with the "loopback" media | |||
attributes MUST acknowledge the request by including the received | attributes MUST acknowledge the request by including the received | |||
"loopback" media attributes for each media description in its | "loopback" media attributes for each media description in its | |||
answer if it agrees to do the loopback. If the answerer does not | answer if it agrees to do the loopback. If the answerer does not | |||
want to do loopback or wants to reject the "loopback" request for | want to do loopback or wants to reject the "loopback" request for | |||
specific media descriptions, it MUST do so as defined in this | specific media descriptions, it MUST do so as defined in this | |||
section. | section. | |||
skipping to change at page 7, line 22 | skipping to change at page 7, line 16 | |||
in the answer as defined in RFC 3264 [RFC3264], or by rejecting the | in the answer as defined in RFC 3264 [RFC3264], or by rejecting the | |||
entire offer (i.e., by rejecting the session request entirely). | entire offer (i.e., by rejecting the session request entirely). | |||
Note that an answerer that is not compliant to this specification | Note that an answerer that is not compliant to this specification | |||
and which receives an offer with the "loopback" media attributes | and which receives an offer with the "loopback" media attributes | |||
would ignore the attributes and treat the incoming offer as a | would ignore the attributes and treat the incoming offer as a | |||
normal request. If the offerer does not wish to establish a | normal request. If the offerer does not wish to establish a | |||
"normal" RTP session, it would need to terminate the session upon | "normal" RTP session, it would need to terminate the session upon | |||
receiving such an answer. | receiving such an answer. | |||
4. New SDP Attributes | 4. New SDP Attributes | |||
Three new SDP media-level attributes are defined: one indicates the | Three new SDP media-level attributes are defined: one indicates the | |||
type of loopback, and the other two define the role of the agent. | type of loopback, and the other two define the role of the agent. | |||
4.1 Loopback Type Attribute | 4.1 Loopback Type Attribute | |||
This specification defines a new 'loopback' attribute, which | This specification defines a new 'loopback' attribute, which | |||
indicates that the agent wishes to perform loopback, and the type | indicates that the agent wishes to perform loopback, and the type | |||
of loopack that the agent is able to do. The loopback-type is a | of loopack that the agent is able to do. The loopback-type is a | |||
value media attribute [RFC4566] with the following syntax: | value media attribute [RFC4566] with the following syntax: | |||
a=loopback:<loopback-type> | a=loopback:<loopback-type> | |||
Following is the Augmented BNF [RFC5234] for loopback-type: | Following is the Augmented BNF [RFC5234] for loopback-type: | |||
loopback-attr = "a=loopback:" SP 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-type = loopback-choice [1*SP loopback-choice] | |||
loopback-choice = loopback-type-pkt / loopback-type-media | loopback-choice = loopback-type-pkt / loopback-type-media | |||
loopback-type-pkt = "rtp-pkt-loopback" | loopback-type-pkt = "rtp-pkt-loopback" | |||
loopback-type-media = "rtp-media-loopback" | loopback-type-media = "rtp-media-loopback" | |||
The loopback-type is used to indicate the type of loopback. The | The loopback-type is used to indicate the type of loopback. The | |||
loopback-type values are rtp-pkt-loopback, and rtp-media-loopback. | loopback-type values are rtp-pkt-loopback, and rtp-media-loopback. | |||
rtp-pkt-loopback: In this mode, the RTP packets are looped back to | 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 | the sender at a point before the encoder/decoder function in the | |||
skipping to change at page 8, line 19 | skipping to change at page 8, line 16 | |||
formats that MUST be used for this type of loopback. This type of | formats that MUST be used for this type of loopback. This type of | |||
loopback applies to the encapsulated and direct loopback use-cases | loopback applies to the encapsulated and direct loopback use-cases | |||
described in Section 1.1. | described in Section 1.1. | |||
rtp-media-loopback: This loopback is activated as close as possible | rtp-media-loopback: This loopback is activated as close as possible | |||
to the analog interface and after the decoder so that the RTP | to the analog interface and after the decoder so that the RTP | |||
packets are subsequently re-encoded prior to transmission back to | packets are subsequently re-encoded prior to transmission back to | |||
the sender. This type of loopback applies to the media loopback | the sender. This type of loopback applies to the media loopback | |||
use-case described in Section 1.1.3. | use-case described in Section 1.1.3. | |||
4.2 Loopback Role Attributes: loopback-source and loopback-mirror | 4.2 Loopback Role Attributes: loopback-source and loopback-mirror | |||
The loopback role defines two property media attributes [RFC4566] | The loopback role defines two property media attributes [RFC4566] | |||
that are used to indicate the role of the agent generating the SDP | that are used to indicate the role of the agent generating the SDP | |||
offer or answer. The syntax of the two loopback role media | offer or answer. The syntax of the two loopback role media | |||
attributes are as follows: | attributes are as follows: | |||
a=loopback-source | a=loopback-source | |||
and | and | |||
a=loopback-mirror | a=loopback-mirror | |||
Following is the Augmented BNF [RFC5234] for loopback-type: | ||||
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 | 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. | looping back entity for transmission in the mirrored stream. | |||
The "m=" line in the SDP MUST include all the payload types that | The "m=" line in the SDP MUST include all the payload types that | |||
will be used during the loopback session. The complete payload | will be used during the loopback session. The complete payload | |||
space for the session is specified in the "m=" line and the rtpmap | 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 | attribute is used to map from the payload type number to an | |||
encoding name denoting the payload format to be used. | encoding name denoting the payload format to be used. | |||
5. Rules for Generating the SDP offer/answer | 5. Rules for Generating the SDP offer/answer | |||
5.1 Generating the SDP Offer for Loopback Session | 5.1 Generating the SDP Offer for Loopback Session | |||
If an offerer wishes to make a loopback request, it MUST include | If an offerer wishes to make a loopback request, it MUST include | |||
both the loopback-type and loopback-role attributes in a valid SDP | both the loopback-type and loopback-role attributes in a valid SDP | |||
offer: | offer: | |||
Example: m=audio 41352 RTP/AVP 0 8 100 | Example: m=audio 41352 RTP/AVP 0 8 100 | |||
a=loopback:rtp-media-loopback | a=loopback:rtp-media-loopback | |||
a=loopback-source | a=loopback-source | |||
a=rtpmap:0 pcmu/8000 | a=rtpmap:0 pcmu/8000 | |||
a=rtpmap:8 pcma/8000 | a=rtpmap:8 pcma/8000 | |||
skipping to change at page 10, line 17 | skipping to change at page 10, line 20 | |||
Example: m=audio 41352 RTP/AVP 0 8 112 | Example: m=audio 41352 RTP/AVP 0 8 112 | |||
a=loopback:rtp-pkt-loopback | a=loopback:rtp-pkt-loopback | |||
a=loopback-source | a=loopback-source | |||
a=rtpmap:112 encaprtp/8000 | a=rtpmap:112 encaprtp/8000 | |||
Example: m=audio 41352 RTP/AVP 0 8 112 | Example: m=audio 41352 RTP/AVP 0 8 112 | |||
a=loopback:rtp-pkt-loopback | a=loopback:rtp-pkt-loopback | |||
a=loopback-source | a=loopback-source | |||
a=rtpmap:112 rtploopback/8000 | a=rtpmap:112 rtploopback/8000 | |||
5.2 Generating the SDP Answer for Loopback Session | 5.2 Generating the SDP Answer for Loopback Session | |||
As with the offer, an SDP answer for loopback MUST follow SDP | As with the offer, an SDP answer for loopback MUST follow SDP | |||
offer/answer rules for the direction attribute, but directions of | offer/answer rules for the direction attribute, but directions of | |||
"sendonly" or "recvonly" do not apply for loopback operation and | "sendonly" or "recvonly" do not apply for loopback operation and | |||
hence MUST NOT be used. | hence MUST NOT be used. | |||
The port number and the address in the answer (m/c= lines) indicate | The port number and the address in the answer (m/c= lines) indicate | |||
where the answerer would like to receive the media stream. The | where the answerer would like to receive the media stream. The | |||
payload type numbers indicate the value of the payload types the | payload type numbers indicate the value of the payload types the | |||
answerer expects to send and receive. | answerer expects to send and receive. | |||
skipping to change at page 11, line 50 | skipping to change at page 12, line 5 | |||
a=rtpmap:112 encaprtp/8000 | a=rtpmap:112 encaprtp/8000 | |||
m=audio 12345 RTP/AVP 0 8 113 | m=audio 12345 RTP/AVP 0 8 113 | |||
a=loopback:rtp-pkt-loopback | a=loopback:rtp-pkt-loopback | |||
a=loopback-mirror | a=loopback-mirror | |||
a=rtpmap:113 rtploopback/8000 | a=rtpmap:113 rtploopback/8000 | |||
The previous examples used the 'encaprtp' and 'rtploopback' | The previous examples used the 'encaprtp' and 'rtploopback' | |||
encoding names, which will be defined in sections 7.1.3 and 7.2.3. | encoding names, which will be defined in sections 7.1.3 and 7.2.3. | |||
5.3 Offerer Processing of the SDP Answer | 5.3 Offerer Processing of the SDP Answer | |||
If the received SDP answer does not contain an a=loopback-mirror or | If the received SDP answer does not contain an a=loopback-mirror or | |||
a=loopback-source attribute, it is assumed that the loopback | a=loopback-source attribute, it is assumed that the loopback | |||
extensions are not supported by the remote agent. This is not a | extensions are not supported by the remote agent. This is not a | |||
protocol failure, and instead merely completes the SDP offer/answer | protocol failure, and instead merely completes the SDP offer/answer | |||
exchange with whatever normal rules apply; the offerer MAY decide | exchange with whatever normal rules apply; the offerer MAY decide | |||
to end the established RTP session (if any) through normal means of | to end the established RTP session (if any) through normal means of | |||
the upper-layer signaling protocol (e.g., by sending a SIP BYE). | the upper-layer signaling protocol (e.g., by sending a SIP BYE). | |||
5.4 Modifying the Session | 5.4 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, as defined in section 8 of RFC 3264 [RFC3264]. This also | session, as defined in section 8 of RFC 3264 [RFC3264]. This also | |||
includes transitioning from a normal media processing mode to | includes transitioning from a normal media processing mode to | |||
loopback mode, and vice versa. | loopback mode, and vice versa. | |||
5.5 Establishing Sessions Between Entities Behind NAT | 5.5 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, as defined in | sessions between entities that are behind NATs, as defined in | |||
[RFC5245]. Loopback sessions that involve one or more endpoints | [RFC5245]. Loopback sessions that involve one or more endpoints | |||
behind NATs SHOULD use these general solutions wherever possible. | behind NATs SHOULD use these general solutions wherever possible. | |||
Furthermore, if the mirroring entity is behind a NAT, it MUST send | Furthermore, if the mirroring entity is behind a NAT, it MUST send | |||
some packets to the identified address/port(s) of the peer, in | some packets to the identified address/port(s) of the peer, in | |||
order to open the NAT pinhole. Using ICE this would be | order to open the NAT pinhole. Using ICE this would be | |||
accomplished with the STUN connectivity check process, or through a | accomplished with the STUN connectivity check process, or through a | |||
TURN server connection. If ICE is not supported, either [RFC6263] | TURN server connection. If ICE is not supported, either [RFC6263] | |||
or Section 10 of ICE [RFC5245] SHOULD be followed to open the | or Section 10 of ICE [RFC5245] SHOULD be followed to open the | |||
pinhole and keep the NAT binding alive/refreshed. | pinhole and keep the NAT binding alive/refreshed. | |||
Note that for any form of NAT traversal to function, symmetric | Note that for any form of NAT traversal to function, symmetric | |||
RTP/RTCP [RFC4961] MUST be used. In other words both agents MUST | RTP/RTCP [RFC4961] MUST be used. In other words both agents MUST | |||
send packets from the source address and port they receive packets | send packets from the source address and port they receive packets | |||
on. | on. | |||
6. RTP Requirements | 6. RTP Requirements | |||
A loopback source MUST NOT send multiple source streams on the same | 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 | 5-tuple, since there is no means for the mirror to indicate which | |||
is which in its mirrored RTP packets. | is which in its mirrored RTP packets. | |||
A loopback mirror that is compliant to this specification and | A loopback mirror that is compliant to this specification and | |||
accepts media with rtp-pkt-loopback loopback type MUST loopback the | accepts media with rtp-pkt-loopback loopback type MUST loopback the | |||
incoming RTP packets using either the encapsulated RTP payload | 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. | |||
skipping to change at page 13, line 21 | skipping to change at page 13, line 22 | |||
incoming media MUST be treated as if it were to be played (e.g. the | incoming media MUST be treated as if it were to be played (e.g. the | |||
media stream MAY receive treatment from PLC algorithms). The | media stream MAY receive treatment from PLC algorithms). The | |||
mirroring entity MUST re-generate all the RTP header fields as it | mirroring entity MUST re-generate all the RTP header fields as it | |||
would when transmitting media. The mirroring entity MAY choose to | would when transmitting media. The mirroring entity MAY choose to | |||
encode the loopback media according to any of the media | encode the loopback media according to any of the media | |||
descriptions supported by the offering entity. Furthermore, in | descriptions supported by the offering entity. Furthermore, in | |||
cases where the same media type is looped back, the mirroring | cases where the same media type is looped back, the mirroring | |||
entity MAY choose to preserve number of frames/packet and bitrate | entity MAY choose to preserve number of frames/packet and bitrate | |||
of the encoded media according to the received media. | of the encoded media according to the received media. | |||
7. Payload formats for Packet loopback | 7. Payload formats for Packet loopback | |||
The payload formats described in this section MUST be used by a | The payload formats described in this section MUST be used by a | |||
loopback-mirror when 'rtp-pkt-loopback' is the specified | loopback-mirror when 'rtp-pkt-loopback' is the specified | |||
loopback-type. Two different formats are specified here - an | loopback-type. Two different formats are specified here - an | |||
encapsulated RTP payload format and a direct loopback RTP payload | encapsulated RTP payload format and a direct loopback RTP payload | |||
format. The encapsulated RTP payload format should be used when | format. The encapsulated RTP payload format should be used when | |||
the incoming RTP header information needs to be preserved during | the incoming RTP header information needs to be preserved during | |||
the loopback operation. This is useful in cases where loopback | the loopback operation. This is useful in cases where loopback | |||
source needs to measure performance metrics in both directions. | source needs to measure performance metrics in both directions. | |||
However, this comes at the expense of increased packet size as | However, this comes at the expense of increased packet size as | |||
described in section 7.1. The direct loopback RTP payload format | described in section 7.1. The direct loopback RTP payload format | |||
should be used when bandwidth requirements prevent the use of | should be used when bandwidth requirements prevent the use of | |||
encapsulated RTP payload format. | encapsulated RTP payload format. | |||
7.1 Encapsulated Payload format | 7.1 Encapsulated Payload format | |||
A received RTP packet is encapsulated in the payload section of the | A received RTP packet is encapsulated in the payload section of the | |||
RTP packet generated by a loopback-mirror. Each received packet | RTP packet generated by a loopback-mirror. Each received packet | |||
MUST be encapsulated in a separate encapsulating RTP packet; the | MUST be encapsulated in a separate encapsulating RTP packet; the | |||
encapsulated packet MUST be fragmented only if required (for | encapsulated packet MUST be fragmented only if required (for | |||
example: due to MTU limitations). | example: due to MTU limitations). | |||
7.1.1 Usage of RTP Header fields | 7.1.1 Usage of RTP Header fields | |||
Payload Type (PT): The assignment of an RTP payload type for this | Payload Type (PT): The assignment of an RTP payload type for this | |||
skipping to change at page 16, line 12 | skipping to change at page 16, line 12 | |||
negotiated using SDP. There is no static payload type assignment | negotiated using SDP. There is no static payload type assignment | |||
for the encapsulating stream, so dynamic payload type numbers MUST | for the encapsulating stream, so dynamic payload type numbers MUST | |||
be used. The binding to the name is indicated by an rtpmap | be used. The binding to the name is indicated by an rtpmap | |||
attribute. The name used in this binding is "encaprtp". | attribute. The name used in this binding is "encaprtp". | |||
The following is an example SDP fragment for encapsulated RTP. | The following is an example SDP fragment for encapsulated RTP. | |||
m=audio 41352 RTP/AVP 112 | m=audio 41352 RTP/AVP 112 | |||
a=rtpmap:112 encaprtp/8000 | a=rtpmap:112 encaprtp/8000 | |||
7.2 Direct loopback RTP payload format | 7.2 Direct loopback RTP payload format | |||
The direct loopback RTP payload format can be used in scenarios | The direct loopback RTP payload format can be used in scenarios | |||
where the 16 byte overhead of the encapsulated payload format is of | where the 16 byte overhead of the encapsulated payload format is of | |||
concern, or simply due to local policy. When using this payload | concern, or simply due to local policy. When using this payload | |||
format, the receiver MUST loop back each received RTP packet | format, the receiver MUST loop back each received RTP packet | |||
payload (not header) in a separate RTP packet. | payload (not header) in a separate RTP packet. | |||
Because a direct loopback format does not retain the original RTP | Because a direct loopback format does not retain the original RTP | |||
headers, there will be no indication of the original payload-type | headers, there will be no indication of the original payload-type | |||
sent to the mirror, in looped-back packets. Therefore, the | sent to the mirror, in looped-back packets. Therefore, the | |||
skipping to change at page 17, line 26 | skipping to change at page 17, line 26 | |||
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. SRTP Behavior | 8. SRTP Behavior | |||
Secure RTP [RFC3711] MAY be used for loopback sessions. SRTP | Secure RTP [RFC3711] MAY be used for loopback sessions. SRTP | |||
operates at a lower logical layer than RTP, and thus if both sides | operates at a lower logical layer than RTP, and thus if both sides | |||
negotiate to use SRTP, each side uses its own key, performs | negotiate to use SRTP, each side uses its own key, performs | |||
encryption/decryption, authentication, etc. Therefore the loopback | encryption/decryption, authentication, etc. Therefore the loopback | |||
function on the mirror occurs after the SRTP packet has been | function on the mirror occurs after the SRTP packet has been | |||
decrypted and authenticated, as a normal cleartext RTP packet | decrypted and authenticated, as a normal cleartext RTP packet | |||
without an MKI or authentication tag; once the cleartext RTP packet | without an MKI or authentication tag; once the cleartext RTP packet | |||
or payload is mirrored - either at the media-layer, direct packet- | or payload is mirrored - either at the media-layer, direct packet- | |||
layer, or encapsulated packet-layer - it is encrypted by the mirror | layer, or encapsulated packet-layer - it is encrypted by the mirror | |||
using its own key. | using its own key. | |||
9. RTCP Requirements | 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 agent that is | answering entities. An offering or answering agent 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 offerer or | and RTCP-XR per RFC 3611 [RFC3611]. Furthermore, if the offerer or | |||
answerer choose to support RTCP-XR, they SHOULD support RTCP-XR | answerer 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 offerer and the | 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 | answerer MAY support other RTCP-XR reporting blocks as defined by | |||
RFC 3611 [RFC3611]. | RFC 3611 [RFC3611]. | |||
10. Congestion Control | 10. Congestion Control | |||
All the participants in a media-level loopback session SHOULD | All the participants in a media-level loopback session SHOULD | |||
implement congestion control mechanisms as defined by the RTP | implement congestion control mechanisms as defined by the RTP | |||
profile under which the loopback mechanism is implemented. For | profile under which the loopback mechanism is implemented. For | |||
audio video profiles, implementations SHOULD conform to the | audio video profiles, implementations SHOULD conform to the | |||
mechanism defined in Section 2 of RFC 3551. | mechanism defined in Section 2 of RFC 3551. | |||
For packet-level loopback types, the loopback source SHOULD | For packet-level loopback types, the loopback source SHOULD | |||
implement congestion control. The mirror will simply reflect back | implement congestion control. The mirror will simply reflect back | |||
the RTP packets it receives (either in encapsulated or direct | the RTP packets it receives (either in encapsulated or direct | |||
modes), therefore the source needs to control the congestion of | modes), therefore the source needs to control the congestion of | |||
both forward and reverse paths by reducing its sending rate to the | both forward and reverse paths by reducing its sending rate to the | |||
mirror. This keeps the loopback mirror implementation simpler, and | mirror. This keeps the loopback mirror implementation simpler, and | |||
provides more flexibility for the source performing a loopback | provides more flexibility for the source performing a loopback | |||
test. | test. | |||
11. Examples | 11. 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 | 11.1 Offer for specific media loopback type | |||
An agent sends an SDP offer which looks like: | An agent sends an SDP offer 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=- | s=- | |||
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 | m=audio 49170 RTP/AVP 0 | |||
a=loopback:rtp-media-loopback | a=loopback:rtp-media-loopback | |||
skipping to change at page 19, line 20 | skipping to change at page 19, line 20 | |||
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 | a=loopback-mirror | |||
a=rtpmap:0 pcmu/8000 | a=rtpmap:0 pcmu/8000 | |||
The answerer is accepting to mirror the media from the offerer at | The answerer is accepting to mirror the media from the offerer at | |||
the media level. | the media level. | |||
11.2 Offer for choice of media loopback type | 11.2 Offer for choice of media loopback type | |||
An agent sends an SDP offer which looks like: | An agent sends an SDP offer 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=- | s=- | |||
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 | |||
a=loopback:rtp-media-loopback rtp-pkt-loopback | a=loopback:rtp-media-loopback rtp-pkt-loopback | |||
skipping to change at page 20, line 7 | skipping to change at page 20, line 7 | |||
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 112 | m=audio 49270 RTP/AVP 0 112 | |||
a=loopback:rtp-pkt-loopback | a=loopback:rtp-pkt-loopback | |||
a=loopback-mirror | a=loopback-mirror | |||
a=rtpmap:0 pcmu/8000 | a=rtpmap:0 pcmu/8000 | |||
a=rtpmap:112 encaprtp/8000 | a=rtpmap:112 encaprtp/8000 | |||
The answerer is accepting to mirror the media from the offerer at | The answerer is accepting to mirror the media from the offerer at | |||
the packet level using the encapsulated RTP payload format. | the packet level using the encapsulated RTP payload format. | |||
11.3 Answerer rejecting loopback media | 11.3 Answerer rejecting loopback media | |||
An agent sends an SDP offer which looks like: | An agent sends an SDP offer 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=- | s=- | |||
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 | m=audio 49170 RTP/AVP 0 | |||
a=loopback:rtp-media-loopback | a=loopback:rtp-media-loopback | |||
skipping to change at page 20, line 43 | skipping to change at page 20, line 43 | |||
Note in this case the answerer did not indicate loopback support, | Note in this case the answerer did not indicate loopback support, | |||
although it could have and still used a port number of 0 to | although it could have and still used a port number of 0 to | |||
indicate it does not wish to accept that media session. | indicate it does not wish to accept that media session. | |||
Alternatively, the answering agent could have simply rejected the | Alternatively, the answering agent could have simply rejected the | |||
entire SDP offer through some higher-layer signaling protocol means | entire SDP offer through some higher-layer signaling protocol means | |||
(e.g., by rejecting the SIP INVITE request if the SDP offer was in | (e.g., by rejecting the SIP INVITE request if the SDP offer was in | |||
the INVITE). | the INVITE). | |||
12. Security Considerations | 12. Security Considerations | |||
The security considerations of [RFC3264] and [RFC3550] apply. | The security considerations of [RFC3264] and [RFC3550] apply. | |||
Given that media loopback may be automated without the end user's | Given that media loopback may be automated without the end user's | |||
knowledge, the answerer of the media loopback should be aware of | knowledge, the answerer of the media loopback should be aware of | |||
denial of service attacks. It is RECOMMENDED that session requests | denial of service attacks. It is RECOMMENDED that session requests | |||
for media loopback be authenticated and the frequency of such | for media loopback be authenticated and the frequency of such | |||
sessions limited by the answerer. | sessions limited by the answerer. | |||
If the higher-layer signaling protocol were not authenticated, a | If the higher-layer signaling protocol were not authenticated, a | |||
skipping to change at page 21, line 38 | skipping to change at page 21, line 38 | |||
does not terminate properly and the end device does not have a | does not terminate properly and the end device does not have a | |||
timeout mechanism for such. | timeout mechanism for such. | |||
For the reasons noted above, end user devices SHOULD provide a | For the reasons noted above, end user devices SHOULD provide a | |||
means of indicating to the human user that the device is in a | means of indicating to the human user that the device is in a | |||
loopback session, even if it is an authenticated session. Devices | loopback session, even if it is an authenticated session. Devices | |||
that answer or generate loopback sessions SHOULD either perform | that answer or generate loopback sessions SHOULD either perform | |||
keepalive/refresh tests of the session state through some means, or | keepalive/refresh tests of the session state through some means, or | |||
time out the session automatically. | time out the session automatically. | |||
13. Implementation Considerations | 13. 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 possible that the solution may not be light-weight enough for | is possible that the solution may not be light-weight enough for | |||
some implementations. In light of this concern, this section | some implementations. In light of this concern, this section | |||
clarifies which features of the loopback proposal MUST be | clarifies which features of the loopback proposal MUST be | |||
implemented for all implementations and which features MAY be | implemented for all implementations and which features MAY be | |||
deferred if the complete solution is not desired. | deferred if the complete solution is not desired. | |||
All implementations MUST at least support the rtp-pkt-loopback mode | All implementations MUST at least support the rtp-pkt-loopback mode | |||
for loopback-type, with direct media loopback payload encoding. In | for loopback-type, with direct media loopback payload encoding. In | |||
addition, for the loopback role, all implementations of an SDP | addition, for the loopback role, all implementations of an SDP | |||
offerer MUST at least be able to act as a loopback-source. | offerer MUST at least be able to act as a loopback-source. | |||
14. IANA Considerations | 14. IANA Considerations | |||
14.1 SDP Attributes | [Note to RFC Editor: Please replace "XXXX" with the appropriate RFC | |||
number on publication] | ||||
14.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>. | Email address: kaynam.hedayat@exfo.com | |||
Telephone number: +1-978-367-5611 | ||||
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 | |||
indicate the type of media loopback. | indicate the type of media loopback. | |||
Allowed attribute values: The parameters to 'loopback' may be | Allowed attribute values: The parameters to 'loopback' may be | |||
one or more of "rtp-pkt-loopback" and | one or more of "rtp-pkt-loopback" and | |||
"rtp-media-loopback". See section 5 | "rtp-media-loopback". See section 5 | |||
of this document for syntax. | of RFC XXXX for syntax. | |||
Contact name: Kaynam Hedayat | Contact name: Kaynam Hedayat | |||
<kaynam.hedayat@exfo.com>. | Email address: kaynam.hedayat@exfo.com | |||
Telephone number: +1-978-367-5611 | ||||
Attribute name: loopback-source | Attribute name: loopback-source | |||
Type of attribute: Media level. | Type of attribute: Media level. | |||
Subject to charset: No. | Subject to charset: No. | |||
Purpose of attribute: The 'loopback-source' attribute | Purpose of attribute: The 'loopback-source' attribute | |||
specifies that the sender is the media | specifies that the sender is the media | |||
source and expects the receiver to act | source and expects the receiver to act | |||
as a loopback-mirror. | as a loopback-mirror. | |||
Allowed attribute values: None. | Allowed attribute values: None. | |||
Contact name: Kaynam Hedayat | Contact name: Kaynam Hedayat | |||
<kaynam.hedayat@exfo.com>. | Email address: kaynam.hedayat@exfo.com | |||
Telephone number: +1-978-367-5611 | ||||
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: None. | Allowed attribute values: None. | |||
14.2 Media Types | 14.2 Media Types | |||
The IANA has registered the following media types: | The IANA has registered the following media types: | |||
14.2.1 audio/encaprtp | 14.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 | |||
skipping to change at page 23, line 26 | skipping to change at page 23, line 30 | |||
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. This is specified by the loop back | may be specified. This is specified by the loop back | |||
source, and reflected by the mirror. | source, and reflected by the mirror. | |||
Optional parameters: none | Optional parameters: none | |||
Encoding considerations: This media type is framed. | Encoding considerations: This media type is framed. | |||
Security considerations: See Section 12 of this document. | Security considerations: See Section 12 of RFC XXXX. | |||
Interoperability considerations: none | Interoperability considerations: none | |||
Published specification: This document. | Published specification: RFC XXXX. | |||
Applications which use this media type: Applications wishing | Applications which use this media type: Applications wishing | |||
to monitor and ensure the quality of transport to the | to monitor and ensure the quality of transport to the | |||
edge of a given VoIP Service. | edge of a given VoIP Service. | |||
Additional information: none | Additional information: none | |||
Contact: the authors of this document. | Contact: the authors of RFC XXXX. | |||
Intended usage: LIMITED USE | Intended usage: LIMITED USE | |||
Restrictions on usage: This media type depends on RTP | Restrictions on usage: This media type depends on RTP | |||
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 PAYLOAD working | |||
group delegated from the IESG. | group delegated from the IESG. | |||
14.2.2 video/encaprtp | 14.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 | |||
skipping to change at page 24, line 25 | skipping to change at page 24, line 31 | |||
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. This is specified by the loop back | sampling rate. This is specified by the loop back | |||
source, and reflected by the mirror. | source, and reflected by the mirror. | |||
Optional parameters: none | Optional parameters: none | |||
Encoding considerations: This media type is framed. | Encoding considerations: This media type is framed. | |||
Security considerations: See Section 12 of this document. | Security considerations: See Section 12 of RFC XXXX. | |||
Interoperability considerations: none | Interoperability considerations: none | |||
Published specification: This document. | Published specification: RFC XXXX. | |||
Applications which use this media type: Applications wishing | Applications which use this media type: Applications wishing | |||
to monitor and ensure the quality of transport to the | to monitor and ensure the quality of transport to the | |||
edge of a given Video Over IP Service. | edge of a given Video Over IP Service. | |||
Additional information: none | Additional information: none | |||
Contact: the authors of this document. | Contact: the authors of RFC XXXX. | |||
Intended usage: LIMITED USE | Intended usage: LIMITED USE | |||
Restrictions on usage: This media type depends on RTP | Restrictions on usage: This media type depends on RTP | |||
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 PAYLOAD working | |||
group delegated from the IESG. | group delegated from the IESG. | |||
14.2.3 text/encaprtp | 14.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 | |||
skipping to change at page 25, line 25 | skipping to change at page 25, line 30 | |||
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. This is specified by the loop back | sampling rate. This is specified by the loop back | |||
source, and reflected by the mirror. | source, and reflected by the mirror. | |||
Optional parameters: none | Optional parameters: none | |||
Encoding considerations: This media type is framed. | Encoding considerations: This media type is framed. | |||
Security considerations: See Section 12 of this document. | Security considerations: See Section 12 of RFC XXXX. | |||
Interoperability considerations: none | Interoperability considerations: none | |||
Published specification: This document. | Published specification: RFC XXXX. | |||
Applications which use this media type: Applications wishing | Applications which use this media type: Applications wishing | |||
to monitor and ensure the quality of transport to the | to monitor and ensure the quality of transport to the | |||
edge of a given Real-Time Text Service. | edge of a given Real-Time Text Service. | |||
Additional information: none | Additional information: none | |||
Contact: the authors of this document. | Contact: the authors of RFC XXXX. | |||
Intended usage: LIMITED USE | Intended usage: LIMITED USE | |||
Restrictions on usage: This media type depends on RTP | Restrictions on usage: This media type depends on RTP | |||
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 PAYLOAD working | |||
group delegated from the IESG. | group delegated from the IESG. | |||
14.2.4 application/encaprtp | 14.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 | |||
skipping to change at page 26, line 26 | skipping to change at page 26, line 29 | |||
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. This is specified by the loop back | sampling rate. This is specified by the loop back | |||
source, and reflected by the mirror. | source, and reflected by the mirror. | |||
Optional parameters: none | Optional parameters: none | |||
Encoding considerations: This media type is framed. | Encoding considerations: This media type is framed. | |||
Security considerations: See Section 12 of this document. | Security considerations: See Section 12 of RFC XXXX. | |||
Interoperability considerations: none | Interoperability considerations: none | |||
Published specification: This document. | Published specification: RFC XXXX. | |||
Applications which use this media type: Applications wishing | Applications which use this media type: Applications wishing | |||
to monitor and ensure the quality of transport to the | to monitor and ensure the quality of transport to the | |||
edge of a given Real-Time Application Service. | edge of a given Real-Time Application Service. | |||
Additional information: none | Additional information: none | |||
Contact: the authors of this document. | Contact: the authors of RFC XXXX. | |||
Intended usage: LIMITED USE | Intended usage: LIMITED USE | |||
Restrictions on usage: This media type depends on RTP | Restrictions on usage: This media type depends on RTP | |||
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 PAYLOAD working | |||
group delegated from the IESG. | group delegated from the IESG. | |||
14.2.5 audio/rtploopback | 14.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 | |||
skipping to change at page 27, line 26 | skipping to change at page 27, line 29 | |||
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. This is specified by the loop back | may be specified. This is specified by the loop back | |||
source, and reflected by the mirror. | source, and reflected by the mirror. | |||
Optional parameters: none | Optional parameters: none | |||
Encoding considerations: This media type is framed. | Encoding considerations: This media type is framed. | |||
Security considerations: See Section 12 of this document. | Security considerations: See Section 12 of RFC XXXX. | |||
Interoperability considerations: none | Interoperability considerations: none | |||
Published specification: This document. | Published specification: RFC XXXX. | |||
Applications which use this media type: Applications wishing | Applications which use this media type: Applications wishing | |||
to monitor and ensure the quality of transport to the | to monitor and ensure the quality of transport to the | |||
edge of a given VoIP Service. | edge of a given VoIP Service. | |||
Additional information: none | Additional information: none | |||
Contact: the authors of this document. | Contact: the authors of RFC XXXX. | |||
Intended usage: LIMITED USE | Intended usage: LIMITED USE | |||
Restrictions on usage: This media type depends on RTP | Restrictions on usage: This media type depends on RTP | |||
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 PAYLOAD working | |||
group delegated from the IESG. | group delegated from the IESG. | |||
14.2.6 video/rtploopback | 14.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 | |||
skipping to change at page 28, line 25 | skipping to change at page 28, line 28 | |||
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. This is specified by the loop back | sampling rate. This is specified by the loop back | |||
source, and reflected by the mirror. | source, and reflected by the mirror. | |||
Optional parameters: none | Optional parameters: none | |||
Encoding considerations: This media type is framed. | Encoding considerations: This media type is framed. | |||
Security considerations: See Section 12 of this document. | Security considerations: See Section 12 of RFC XXXX. | |||
Interoperability considerations: none | Interoperability considerations: none | |||
Published specification: This document. | Published specification: RFC XXXX. | |||
Applications which use this media type: Applications wishing | Applications which use this media type: Applications wishing | |||
to monitor and ensure the quality of transport to the | to monitor and ensure the quality of transport to the | |||
edge of a given Video Over IP Service. | edge of a given Video Over IP Service. | |||
Additional information: none | Additional information: none | |||
Contact: the authors of this document. | Contact: the authors of RFC XXXX. | |||
Intended usage: LIMITED USE | Intended usage: LIMITED USE | |||
Restrictions on usage: This media type depends on RTP | Restrictions on usage: This media type depends on RTP | |||
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 PAYLOAD working | |||
group delegated from the IESG. | group delegated from the IESG. | |||
14.2.7 text/rtploopback | 14.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 | |||
skipping to change at page 29, line 25 | skipping to change at page 29, line 25 | |||
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. This is specified by the loop back | sampling rate. This is specified by the loop back | |||
source, and reflected by the mirror. | source, and reflected by the mirror. | |||
Optional parameters: none | Optional parameters: none | |||
Encoding considerations: This media type is framed. | Encoding considerations: This media type is framed. | |||
Security considerations: See Section 12 of this document. | Security considerations: See Section 12 of RFC XXXX. | |||
Interoperability considerations: none | Interoperability considerations: none | |||
Published specification: This document. | Published specification: RFC XXXX. | |||
Applications which use this media type: Applications wishing | Applications which use this media type: Applications wishing | |||
to monitor and ensure the quality of transport to the | to monitor and ensure the quality of transport to the | |||
edge of a given Real-Time Text Service. | edge of a given Real-Time Text Service. | |||
Additional information: none | Additional information: none | |||
Contact: the authors of this document. | Contact: the authors of RFC XXXX. | |||
Intended usage: LIMITED USE | Intended usage: LIMITED USE | |||
Restrictions on usage: This media type depends on RTP | Restrictions on usage: This media type depends on RTP | |||
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 PAYLOAD working | |||
group delegated from the IESG. | group delegated from the IESG. | |||
14.2.8 application/rtploopback | 14.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 | |||
skipping to change at page 30, line 26 | skipping to change at page 30, line 26 | |||
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. This is specified by the loop back | sampling rate. This is specified by the loop back | |||
source, and reflected by the mirror. | source, and reflected by the mirror. | |||
Optional parameters: none | Optional parameters: none | |||
Encoding considerations: This media type is framed. | Encoding considerations: This media type is framed. | |||
Security considerations: See Section 12 of this document. | Security considerations: See Section 12 of RFC XXXX. | |||
Interoperability considerations: none | Interoperability considerations: none | |||
Published specification: This document. | Published specification: RFC XXXX. | |||
Applications which use this media type: Applications wishing | Applications which use this media type: Applications wishing | |||
to monitor and ensure the quality of transport to the | to monitor and ensure the quality of transport to the | |||
edge of a given Real-Time Application Service. | edge of a given Real-Time Application Service. | |||
Additional information: none | Additional information: none | |||
Contact: the authors of this document. | Contact: the authors of RFC XXXX. | |||
Intended usage: LIMITED USE | Intended usage: LIMITED USE | |||
Restrictions on usage: This media type depends on RTP | Restrictions on usage: This media type depends on RTP | |||
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 PAYLOAD working | |||
group delegated from the IESG. | group delegated from the IESG. | |||
15. Acknowledgements | 15. Acknowledgements | |||
This document's editor would like to thank the original authors of | This document's editor would like to thank the original authors of | |||
the document: Kaynam Hedayat, Nagarjuna Venna, Paul E. Jones, Arjun | the document: Kaynam Hedayat, Nagarjuna Venna, Paul E. Jones, Arjun | |||
Roychowdhury, Chelliah SivaChelvan, and Nathan Stratton. The | Roychowdhury, Chelliah SivaChelvan, and Nathan Stratton. The | |||
editor has made fairly insignificant changes in the end. Also, | editor has made fairly insignificant changes in the end. Also, | |||
we'd like to thank Magnus Westerlund, Miguel Garcia, Muthu | we'd like to thank Magnus Westerlund, Miguel Garcia, Muthu Arul | |||
Arul Mozhi Perumal, Jeff Bernstein, Paul Kyzivat, Dave Oran, | Mozhi Perumal, Jeff Bernstein, Paul Kyzivat, Dave Oran, Flemming | |||
Flemming Andreasen, Gunnar Hellstrom, Emil Ivov and Dan Wing for | Andreasen, Gunnar Hellstrom, Emil Ivov and Dan Wing for their | |||
their feedback, comments and suggestions. | feedback, comments and suggestions. | |||
16. Normative References | 16. Normative References | |||
[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. | |||
[RFC3550] Schulzrinne, H., Casner, S., Frederick, R. and V. | [RFC3550] Schulzrinne, H., Casner, S., Frederick, R. and V. | |||
Jacobson, "RTP: A Transport Protocol for Real-Time | Jacobson, "RTP: A Transport Protocol for Real-Time | |||
Applications", STD 64, RFC 3550, July 2003. | Applications", STD 64, RFC 3550, July 2003. | |||
[RFC3611] Almeroth, K., Caceres, R., Clark, A., Cole, R., | [RFC3611] Almeroth, K., Caceres, R., Clark, A., Cole, R., | |||
skipping to change at page 32, line 8 | skipping to change at page 32, line 8 | |||
[RFC3551] Schulzrinne, H., Casner, S., "RTP Profile for Audio | [RFC3551] Schulzrinne, H., Casner, S., "RTP Profile for Audio | |||
and Video Conferences with Minimial Control", STD 65, | and Video Conferences with Minimial Control", STD 65, | |||
RFC 3551, July 2003. | RFC 3551, July 2003. | |||
[RFC4566] Handley, M., Jacobson, V., Perkins, C., "SDP: Session | [RFC4566] Handley, M., Jacobson, V., Perkins, C., "SDP: Session | |||
Description Protocol", RFC 4566, July 2006. | Description Protocol", RFC 4566, July 2006. | |||
[RFC4855] Casner, S., "Media Type Registration of RTP Payload | [RFC4855] Casner, S., "Media Type Registration of RTP Payload | |||
Formats", RFC 4855, February 2007. | Formats", RFC 4855, February 2007. | |||
17. Informative References | 17. Informative References | |||
[RFC5245] Rosenberg, J., "Interactive Connectivity | [RFC5245] Rosenberg, J., "Interactive Connectivity | |||
Establishment (ICE): A Protocol for Network Address | Establishment (ICE): A Protocol for Network Address | |||
Translator (NAT) Traversal for Offer/Answer | Translator (NAT) Traversal for Offer/Answer | |||
Protocols", RFC 5245, April 2010. | Protocols", RFC 5245, April 2010. | |||
[RFC6263] Marjou, X., Sollaud, A., "Application Mechanism for | [RFC6263] Marjou, X., Sollaud, A., "Application Mechanism for | |||
Keeping Alive the NAT Mappings Associated with RTP / | Keeping Alive the NAT Mappings Associated with RTP / | |||
RTP Control Protocol (RTCP) Flows", RFC 6263, June | RTP Control Protocol (RTCP) Flows", RFC 6263, June | |||
2011. | 2011. | |||
End of changes. 83 change blocks. | ||||
93 lines changed or deleted | 108 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/ |