draft-ietf-mmusic-media-loopback-23.txt | draft-ietf-mmusic-media-loopback-24.txt | |||
---|---|---|---|---|
MMUSIC Working Group H. Kaplan (ed.) | MMUSIC Working Group H. Kaplan (ed.) | |||
Internet-Draft Acme Packet | Internet-Draft Acme Packet | |||
Intended status: Proposed Standard K. Hedayat | Intended status: Proposed Standard K. Hedayat | |||
Expires: March 9, 2013 EXFO | Expires: May 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. | |||
September 9, 2012 | November 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-23 | draft-ietf-mmusic-media-loopback-24 | |||
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. | |||
Internet-Drafts are draft documents valid for a maximum of six | Internet-Drafts are draft documents valid for a maximum of six | |||
skipping to change at page 1, line 40 | skipping to change at page 1, line 40 | |||
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/1id-abstracts.html | http://www.ietf.org/1id-abstracts.html | |||
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 March 9, 2013. | This Internet-Draft will expire on May 6, 2013. | |||
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 | |||
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 | |||
skipping to change at page 2, line 24 | skipping to change at page 2, line 24 | |||
10, 2008. The person(s) controlling the copyright in some of this | 10, 2008. The person(s) controlling the copyright in some of this | |||
material may not have granted the IETF Trust the right to allow | material may not have granted the IETF Trust the right to allow | |||
modifications of such material outside the IETF Standards Process. | modifications of such material outside the IETF Standards Process. | |||
Without obtaining an adequate license from the person(s) | Without obtaining an adequate license from the person(s) | |||
controlling the copyright in such materials, this document may not | controlling the copyright in such materials, this document may not | |||
be modified outside the IETF Standards Process, and derivative | be modified outside the IETF Standards Process, and derivative | |||
works of it may not be created outside the IETF Standards Process, | works of it may not be created outside the IETF Standards Process, | |||
except to format it for publication as an RFC or to translate it | except to format it for publication as an RFC or to translate it | |||
into languages other than English. | into languages other than English. | |||
Abstract | Abstract | |||
The wide deployment of Voice over IP (VoIP), Text and Video over IP | The wide deployment of Voice over IP (VoIP), Text and Video over IP | |||
services has introduced new challenges in managing and maintaining | services has introduced new challenges in managing and maintaining | |||
real-time voice/text/video quality, reliability, and overall | real-time voice/text/video quality, reliability, and overall | |||
performance. In particular, media delivery is an area that needs | performance. In particular, media delivery is an area that needs | |||
attention. One method of meeting these challenges is monitoring | attention. One method of meeting these challenges is monitoring | |||
the media delivery performance by looping media back to the | the media delivery performance by looping media back to the | |||
transmitter. This is typically referred to as "active monitoring" | transmitter. This is typically referred to as "active monitoring" | |||
of services. Media loopback is especially popular in ensuring the | of services. Media loopback is especially popular in ensuring the | |||
quality of transport to the edge of a given VoIP, Real-time Text or | quality of transport to the edge of a given VoIP, Real-time Text or | |||
skipping to change at page 2, line 46 | skipping to change at page 2, line 46 | |||
media, short of running 'ping' and 'traceroute' to the edge, | media, short of running 'ping' and 'traceroute' to the edge, | |||
administrators are left without the necessary tools to actively | administrators are left without the necessary tools to actively | |||
monitor, manage, and diagnose quality issues with their service. | monitor, manage, and diagnose quality issues with their service. | |||
The extension defined herein adds new SDP media types and | The extension defined herein adds new SDP media types and | |||
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...................................................6 | |||
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.....................................7 | 3.2 SDP Answerer Behavior.....................................7 | |||
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- | |||
skipping to change at page 3, line 29 | skipping to change at page 3, line 29 | |||
7.1 Encapsulated Payload format..............................14 | 7.1 Encapsulated Payload format..............................14 | |||
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............................................18 | 9. RTCP Requirements............................................18 | |||
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.....................................21 | 12. Security Considerations.....................................21 | |||
13. Implementation Considerations...............................21 | 13. Implementation Considerations...............................22 | |||
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.............................................23 | 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 7, line 4 | skipping to change at page 6, line 48 | |||
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 specification and attempting to | An SDP offerer compliant to this specification and attempting to | |||
establish a media session with media loopback MUST include | establish a media session with media loopback MUST include | |||
"loopback" media attributes for each individual media description | "loopback" media attributes for each individual media description | |||
in the offer message. The offerer MUST look for the "loopback" | in the offer message. The offerer will look for the "loopback" | |||
media attributes in the media description(s) of the response from | media attributes in the media description(s) of the response from | |||
the answer for confirmation that the request is accepted. | the answer for 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 | If an SDP answerer compliant to this specification receives 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 and it wants to accept such for the purposes of media- | |||
loopback, 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 the answerer does not want to do loopback or wants to | |||
want to do loopback or wants to reject the "loopback" request for | reject the "loopback" request for specific media descriptions, it | |||
specific media descriptions, it MUST do so as defined in this | MUST do so as defined in this section. | |||
section. | ||||
An answerer MAY reject an offered stream (either with loopback- | An answerer can reject an offered stream (either with loopback- | |||
source or loopback-mirror) if the loopback-type is not specified, | source or loopback-mirror) if the loopback-type is not specified, | |||
the specified loopback-type is not supported, or the endpoint | the specified loopback-type is not supported, or the endpoint | |||
cannot honor the offer for any other reason. The loopback request | cannot honor the offer for any other reason. The loopback request | |||
MUST be rejected by setting the stream's media port number to zero | is rejected by setting the stream's media port number to zero in | |||
in the answer as defined in RFC 3264 [RFC3264], or by rejecting the | 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 | |||
skipping to change at page 8, line 26 | skipping to change at page 33, line ? | |||
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 | |||
receive direction to a point after the encoder/decoder function in | receive direction to a point after the encoder/decoder function in | |||
the send direction. This effectively re-encapsulates the RTP | the send direction. This effectively re-encapsulates the RTP | |||
payload with the RTP/UDP/IP headers appropriate for sending it in | payload with the RTP/UDP/IP headers appropriate for sending it in | |||
the reverse direction. Any type of encoding related functions, | the reverse direction. Any type of encoding related functions, | |||
such as packet loss concealment, MUST NOT be part of this type of | such as packet loss concealment, MUST NOT be part of this type of | |||
loopback path. In this mode the RTP packets are looped back with a | loopback path. In this mode the RTP packets are looped back with a | |||
new payload type and format. Section 7 describes the payload | new payload type and format. Section 7 describes the payload | |||
formats that MUST be used for this type of loopback. This type of | formats that are to be used for this type of loopback. This type | |||
loopback applies to the encapsulated and direct loopback use-cases | of loopback applies to the encapsulated and direct loopback use- | |||
described in Section 1.1. | cases 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] | |||
skipping to change at page 13, line 22 | skipping to change at page 33, line ? | |||
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 loops back 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. | |||
A device that is compliant to this specification and performing the | A device that is compliant to this specification and performing the | |||
mirroring using the loopback type rtp-media-loopback MUST transmit | mirroring using the loopback type rtp-media-loopback MUST transmit | |||
all received media back to the sender, unless congestion feedback | all received media back to the sender, unless congestion feedback | |||
or other lower-layer constraints prevent it from doing so. The | or other lower-layer constraints prevent it from doing so. The | |||
incoming media MUST be treated as if it were to be played; for | incoming media is treated as if it were to be played; for example, | |||
example, the media stream MAY receive treatment from Packet Loss | the media stream may receive treatment from Packet Loss Concealment | |||
Concealment (PLC) algorithms. The mirroring entity MUST re- | (PLC) algorithms. The mirroring entity re-generates all the RTP | |||
generate all the RTP header fields as it would when transmitting | header fields as it would when transmitting media. The mirroring | |||
media. The mirroring entity MAY choose to encode the loopback media | entity MAY choose to encode the loopback media according to any of | |||
according to any of the media descriptions supported by the | the media descriptions supported by the offering entity. | |||
offering entity. Furthermore, in cases where the same media type is | Furthermore, in cases where the same media type is looped back, the | |||
looped back, the mirroring entity MAY choose to preserve number of | mirroring entity can choose to preserve number of frames/packet and | |||
frames/packet and bitrate of the encoded media according to the | bitrate of the encoded media according to the received media. | |||
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 is | |||
MUST be encapsulated in a separate encapsulating RTP packet; the | encapsulated in a separate encapsulating RTP packet; the | |||
encapsulated packet MUST be fragmented only if required (for | encapsulated packet would 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 | |||
packet format is outside the scope of this document; it is either | packet format is outside the scope of this document; it is either | |||
specified by the RTP profile under which this payload format is | specified by the RTP profile under which this payload format is | |||
used or more likely signaled dynamically out-of-band (e.g., using | used or more likely signaled dynamically out-of-band (e.g., using | |||
SDP; Section 7.1.3 defines the name binding). | SDP; Section 7.1.3 defines the name binding). | |||
skipping to change at page 15, line 4 | skipping to change at page 33, line ? | |||
source. The RTP timestamp MUST use the same clock rate as that of | source. The RTP timestamp MUST use the same clock rate as that of | |||
the encapsulated packet. The initial value of the timestamp SHOULD | the encapsulated packet. The initial value of the timestamp SHOULD | |||
be random for security reasons (see Section 5.1 of RFC 3550 | be random for security reasons (see Section 5.1 of RFC 3550 | |||
[RFC3550]). | [RFC3550]). | |||
SSRC: set as described in RFC 3550 [RFC3550]. | SSRC: set as described in RFC 3550 [RFC3550]. | |||
CC and CSRC fields are used as described in RFC 3550 [RFC3550]. | CC and CSRC fields are used as described in RFC 3550 [RFC3550]. | |||
7.1.2 RTP Payload Structure | 7.1.2 RTP Payload Structure | |||
The outer RTP header of the encapsulating packet MUST be followed | ||||
by the payload header defined in this section, after any header | The outer RTP header of the encapsulating packet is followed by the | |||
payload header defined in this section, after any header | ||||
extension(s). If the received RTP packet has to be looped back in | extension(s). If the received RTP packet has to be looped back in | |||
multiple encapsulating packets due to fragmentation, the | multiple encapsulating packets due to fragmentation, the | |||
encapsulating RTP header in each packet MUST be followed by the | encapsulating RTP header in each packet is followed by the payload | |||
payload header defined in this section. The header is devised so | header defined in this section. The header is devised so that the | |||
that the loopback-source can decode looped back packets in the | loopback-source can decode looped back packets in the presence of | |||
presence of moderate packet loss [RFC3550]. The RTP payload of the | moderate packet loss [RFC3550]. The RTP payload of the | |||
encapsulating RTP packet starts with the payload header defined in | encapsulating RTP packet starts with the payload header defined in | |||
this section. | this section. | |||
0 1 2 3 | 0 1 2 3 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| receive timestamp | | | receive timestamp | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| F | R | CC |M| PT | sequence number | | | F | R | CC |M| PT | sequence number | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
skipping to change at page 16, line 27 | skipping to change at page 33, line ? | |||
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 loops back each received RTP packet payload | |||
payload (not header) in a separate RTP packet. | (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 | |||
loopback source SHOULD only send one payload type per loopback RTP | loopback source SHOULD only send one payload type per loopback RTP | |||
session, if direct mode is used. | session, if direct mode is used. | |||
7.2.1 Usage of RTP Header fields | 7.2.1 Usage of RTP Header fields | |||
Payload Type (PT): The assignment of an RTP payload type for the | Payload Type (PT): The assignment of an RTP payload type for the | |||
skipping to change at page 18, line 5 | skipping to change at page 33, line ? | |||
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. | |||
In order to provide the same level of protection to both forward | ||||
and reverse media flows (media to and from the mirror), if SRTP is | ||||
used it MUST be used in both directions with the same properties. | ||||
9. RTCP Requirements | 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 Run Length Encoding (RLE) report block, Duplicate RLE report | Loss Run Length Encoding (RLE) report block, Duplicate RLE report | |||
skipping to change at page 22, line 16 | skipping to change at page 33, line ? | |||
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 | |||
[Note to RFC Editor: Please replace "XXXX" with the appropriate RFC | [Note to RFC Editor: Please replace "XXXX" with the appropriate RFC | |||
number on publication] | number on publication] | |||
14.1 SDP Attributes | 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 | |||
Email address: kaynam.hedayat@exfo.com | Email address: kaynam.hedayat@exfo.com | |||
Telephone number: +1-978-367-5611 | Telephone number: +1-978-367-5611 | |||
End of changes. 25 change blocks. | ||||
57 lines changed or deleted | 59 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/ |