draft-ietf-mmusic-media-loopback-11.txt | draft-ietf-mmusic-media-loopback-12.txt | |||
---|---|---|---|---|
Internet Draft K. Hedayat | Internet Draft K. Hedayat | |||
Expires: March 7, 2010 EXFO | Expires: June 30, 2010 EXFO | |||
N. Venna | N. Venna | |||
EXFO | EXFO | |||
P. Jones | P. Jones | |||
Cisco Systems, Inc. | Cisco Systems, Inc. | |||
A. Roychowdhury | A. Roychowdhury | |||
Hughes Systique Corp. | Hughes Systique Corp. | |||
C. SivaChelvan | C. SivaChelvan | |||
Cisco Systems, Inc. | Cisco Systems, Inc. | |||
N. Stratton | N. Stratton | |||
BlinkMind, Inc. | BlinkMind, Inc. | |||
October 7, 2009 | January 30, 2010 | |||
An Extension to the Session Description Protocol (SDP) for Media | An Extension to the Session Description Protocol (SDP) for Media | |||
Loopback | Loopback | |||
draft-ietf-mmusic-media-loopback-11 | draft-ietf-mmusic-media-loopback-12 | |||
Status of this Memo | Status of this Memo | |||
This Internet-Draft is submitted to IETF in full conformance with | This Internet-Draft is submitted to IETF in full conformance with | |||
the provisions of BCP 78 and BCP 79. | the provisions of BCP 78 and BCP 79. | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF), its areas, and its working groups. Note that | Task Force (IETF), its areas, and its working groups. Note that | |||
other groups may also distribute working documents as Internet- | other groups may also distribute working documents as Internet- | |||
Drafts. | Drafts. | |||
skipping to change at page 1, line 43 | skipping to change at page 1, line 43 | |||
documents at any time. It is inappropriate to use Internet-Drafts | documents at any time. It is inappropriate to use Internet-Drafts | |||
as reference material or to cite them other than as "work in | as reference material or to cite them other than as "work in | |||
progress." | progress." | |||
The list of current Internet-Drafts can be accessed at | The list of current Internet-Drafts can be accessed at | |||
http://www.ietf.org/ietf/1id-abstracts.txt. | http://www.ietf.org/ietf/1id-abstracts.txt. | |||
The list of Internet-Draft Shadow Directories can be accessed at | The list of Internet-Draft Shadow Directories can be accessed at | |||
http://www.ietf.org/shadow.html. | http://www.ietf.org/shadow.html. | |||
This Internet-Draft will expire on August 18, 2009. | This Internet-Draft will expire on June 30, 2010. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2009 IETF Trust and the persons identified as the | Copyright (c) 2009 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
skipping to change at page 3, line 4 | skipping to change at page 3, line 4 | |||
Table of Contents | Table of Contents | |||
1. Introduction .................................................. 3 | 1. Introduction .................................................. 3 | |||
2. Terminology ................................................... 4 | 2. Terminology ................................................... 4 | |||
3. Offering Entity Behavior ...................................... 4 | 3. Offering Entity Behavior ...................................... 4 | |||
4. Answering Entity Behavior ..................................... 4 | 4. Answering Entity Behavior ..................................... 4 | |||
5. SDP Constructs Syntax ......................................... 5 | 5. SDP Constructs Syntax ......................................... 5 | |||
5.1 Loopback Type Attribute ................................... 5 | 5.1 Loopback Type Attribute ................................... 5 | |||
5.2 Loopback Mode Attribute ................................... 6 | 5.2 Loopback Mode Attribute ................................... 6 | |||
5.3 Generating the Offer for Loopback Session ................. 7 | 5.3 Generating the Offer for Loopback Session ................. 6 | |||
5.4 Generating the Answer for Loopback Session ................ 8 | 5.4 Generating the Answer for Loopback Session ................ 7 | |||
5.5 Offerer Processing of the Answer ......................... 10 | 5.5 Offerer Processing of the Answer .......................... 9 | |||
5.6 Modifying the Session .................................... 10 | 5.6 Modifying the Session ..................................... 9 | |||
5.7 Priming the loopback pump ................................. 9 | ||||
6. RTP Requirements ............................................. 10 | 6. RTP Requirements ............................................. 10 | |||
7. Payload formats for Packet loopback .......................... 11 | 7. Payload formats for Packet loopback .......................... 11 | |||
7.1 Encapsulated Payload format .............................. 11 | 7.1 Encapsulated Payload format .............................. 11 | |||
7.2 Direct loopback RTP payload format ....................... 13 | 7.2 Direct loopback RTP payload format ....................... 13 | |||
8. RTCP Requirements ............................................ 15 | 8. Payload formats for Priming the Loopback Pump ................ 15 | |||
9. Congestion Control ........................................... 15 | 8.1 Usage of RTP Header fields ............................... 15 | |||
10. Examples .................................................... 15 | 8.2 Usage of SDP ............................................. 15 | |||
10.1 Offer for specific media loopback type .................. 15 | 9. RTCP Requirements ............................................ 15 | |||
10.2 Offer for choice of media loopback type ................. 16 | 10. Congestion Control .......................................... 16 | |||
10.3 Offer for choice of media loopback type with | 11. Examples .................................................... 16 | |||
rtp-start-loopback ........................................... 17 | 11.1 Offer for specific media loopback type .................. 16 | |||
10.4 Response to INVITE request rejecting loopback media ..... 18 | 11.2 Offer for choice of media loopback type ................. 17 | |||
10.5 Response to INVITE request rejecting loopback media with | 11.3 Offer for choice of media loopback type with loopback | |||
rtp-start-loopback ........................................... 19 | primer ....................................................... 18 | |||
11. Security Considerations ..................................... 20 | 11.4 Response to INVITE request rejecting loopback media ..... 19 | |||
12. Implementation Considerations ............................... 20 | 11.5 Response to INVITE request rejecting loopback media with | |||
13. IANA Considerations ......................................... 20 | loopback primer payload type ................................. 20 | |||
13.1 SDP Attributes .......................................... 20 | 12. Security Considerations ..................................... 20 | |||
13.2 MIME Types .............................................. 21 | 13. Implementation Considerations ............................... 21 | |||
14. Acknowledgements ............................................ 30 | 14. IANA Considerations ......................................... 21 | |||
15. Normative References ........................................ 30 | 14.1 SDP Attributes .......................................... 21 | |||
14.2 MIME Types .............................................. 22 | ||||
15. Acknowledgements ............................................ 35 | ||||
16. Normative References ........................................ 36 | ||||
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 | ||||
the delivered media there is a need to monitor the performance of | the delivered media there is a need to monitor the performance of | |||
the media transport. One method of monitoring and managing the | the media transport. One method of monitoring and managing the | |||
overall quality of VoIP, Real-time Text and Video over IP Services | overall quality of VoIP, Real-time Text and Video over IP Services | |||
is through monitoring the quality of the media in an active | is through monitoring the quality of the media in an active | |||
session. This type of "active monitoring" of services is a method | session. This type of "active monitoring" of services is a method | |||
of pro-actively managing the performance and quality of VoIP based | of pro-actively managing the performance and quality of VoIP based | |||
services. | services. | |||
The goal of active monitoring is to measure the media quality of a | The goal of active monitoring is to measure the media quality of a | |||
VoIP, Real-time Text or Video over IP session. A way to achieve | VoIP, Real-time Text or Video over IP session. A way to achieve | |||
skipping to change at page 5, line 19 | skipping to change at page 5, line 24 | |||
5.1 Loopback Type Attribute | 5.1 Loopback Type Attribute | |||
The loopback type is a property media attribute with the following | The loopback type is a property media attribute with the following | |||
syntax: | 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-type = loopback-type-choices | loopback-type-choice-3 | loopback-type = loopback-choice [1*SP loopback-choice] | |||
loopback-choices = loopback-type-choice-1 | loopback-type-choice-2 | loopback-choice = loopback-type-pkt / loopback-type-media | |||
| loopback-type-choice-1 1*space loopback-type-choice-2 | | loopback-type-pkt = "rtp-pkt-loopback" | |||
loopback-type-choice-2 1*space loopback-type-choice-1 | loopback-type-media = "rtp-media-loopback" | |||
loopback-type-choice-1 = "rtp-pkt-loopback" | ||||
loopback-type-choice-2 = "rtp-media-loopback" | ||||
loopback-type-choice-3 = "rtp-start-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, rtp-media-loopback, and | loopback-type values are rtp-pkt-loopback, and rtp-media-loopback. | |||
rtp-start-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 | |||
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 overheads appropriate for sending it in | payload with the RTP/UDP/IP overheads 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. | formats that MUST be used for this type of loopback. | |||
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. | the sender. | |||
rtp-start-loopback: In certain scenarios it is possible that the | ||||
media transmitted by the loopback-source is blocked by a network | ||||
element until the loopback-mirror starts transmitting packets. | ||||
Loopback-source and loopback-mirror are loopback modes defined in | ||||
section 5.2. One example of this scenario is the presence of an | ||||
RTP relay in the path of the media. RTP relays exist in VoIP | ||||
networks for purpose of NAT and Firewall traversal. If an RTP | ||||
relay is present, the loopback-source's packets are dropped by the | ||||
RTP relay until the loopback-mirror has started transmitting media | ||||
and the media state within the RTP relay is established. This | ||||
loopback attribute is used to specify the media type for | ||||
transmitting media packets by the loopback-mirror prior to the | ||||
loopback process for the purpose of setting media state within the | ||||
network. In the presence of this loopback attribute the | ||||
loopback-mirror will transmit media, according to the description | ||||
that contains this attribute, until it receives media from the | ||||
loopback-source. The loopback-mirror MAY include this attribute in | ||||
the answer if it is not present in the offer. This may be | ||||
necessary if the loopback-mirror is aware of NAT's, firewalls, or | ||||
RTP relays on the path of the call. In this case the loopback- | ||||
source MUST accept media according to rtp-start-loopback attribute. | ||||
After the first media packet is received from the loopback-source, | ||||
the loopback-mirror MUST terminate the transmission of | ||||
rtp-start-loopback media and MUST start looping back media as | ||||
defined by the other loopback attributes present in the offer. If | ||||
an offer includes the rtp-start-loopback attribute it MUST also | ||||
include at least one other attribute as defined in this section. | ||||
The loopback-source is able to filter rtp-start-loopback packets | ||||
from other types of loopback with the payload type of the packet. | ||||
The media port number for rtp-start-loopback MUST be the same as | ||||
the corresponding loopback attribute that will take over after the | ||||
reception of first media packet from the offering entity. | ||||
It is recommended that an offering entity specifying media with | ||||
either rtp-pkt-loopback or rtp-media-loopback attribute also | ||||
specify the rtp-start-loopback attribute unless the offering entity | ||||
is certain that its media will not be blocked by a network entity | ||||
as explained above. | ||||
5.2 Loopback Mode Attribute | 5.2 Loopback Mode Attribute | |||
The loopback mode is a value media attribute that is used to | The loopback mode is a value media attribute that is used to | |||
indicate the mode of the loopback. These attributes are additional | indicate the mode of the loopback. These attributes are additional | |||
mode attributes like sendonly, recvonly, etc. The syntax of the | mode attributes like sendonly, recvonly, etc. The syntax of the | |||
loopback mode media attribute is: | loopback mode media attribute is: | |||
a=<loopback-mode>:<fmt>... | a=<loopback-mode>:<fmt>... | |||
The loopback-mode values are loopback-source and loopback-mirror. | The loopback-mode values are loopback-source and loopback-mirror. | |||
loopback-source: This attribute specifies that the sender is the | loopback-source: This attribute specifies that the sender is the | |||
media source and expects the receiver to act as a loopback-mirror. | media source and expects the receiver to act as a loopback-mirror. | |||
loopback-mirror: This attribute specifies that the receiver will | loopback-mirror: This attribute specifies that the receiver will | |||
mirror (echo) all received media back to the sender of the RTP | mirror (echo) all received media back to the sender of the RTP | |||
stream. No media is generated locally by the receiver for | stream. No media is generated locally by the receiver for | |||
transmission in the mirrored stream unless rtp-start-loopback is | transmission in the mirrored stream unless the loopback primer | |||
requested by the loopback-source or included in the response by | payload type (described in Section 8 of this document) is requested | |||
by the loopback-source or included in the response by | ||||
loopback-mirror. | loopback-mirror. | |||
<fmt> is a media format description. The format descrption has the | <fmt> is a media format description. The format description has the | |||
semantics as defined in section 5.14 of RFC 4566[RFC4566]. When | semantics as defined in section 5.14 of RFC 4566[RFC4566]. When | |||
loopback-mode is specified as loopback-source, the media format | loopback-mode is specified as loopback-source, the media format | |||
corresponds to the RTP payload types the source is willing to send. | corresponds to the RTP payload types the source is willing to send. | |||
When loopback-mode is specified as loopback-mirror, the media | When loopback-mode is specified as loopback-mirror, the media | |||
format corresponds to the RTP payload types the mirror is willing | format corresponds to the RTP payload types the mirror is willing | |||
to receive. The payload types specified in m= line for a | to receive. The payload types specified in m= line for a | |||
loopback-source specify the payloads the source is willing to | loopback-source specify the payloads the source is willing to | |||
receive. Similarly, for the loopback-mirror these payload types | receive. Similarly, for the loopback-mirror these payload types | |||
specify the payloads it is willing to send. | specify the payloads it is willing to send. | |||
The loopback mode attribute does not apply to rtp-start-loopback | ||||
attribute and MUST be ignored if received by the answering entity. | ||||
5.3 Generating the Offer for Loopback Session | 5.3 Generating the 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-mode attribute in a valid SDP | both the loopback-type and loopback-mode attribute in a valid SDP | |||
offer: | offer: | |||
Example: m=audio 41352 RTP/AVP 0 8 | Example: m=audio 41352 RTP/AVP 0 8 100 | |||
a=loopback:rtp-media-loopback | a=loopback:rtp-media-loopback | |||
a=loopback-source:0 8 | a=loopback-source:0 8 100 | |||
a=rtpmap:0 pcmu/8000 | ||||
a=rtpmap:8 pcma/8000 | ||||
a=rtpmap:100 G7221/16000/1 | ||||
Note: A loopback offer in a given media description MUST NOT | Note: A loopback offer in a given media description MUST NOT | |||
contain the standard mode attributes sendonly, recvonly, sendrecv | contain the standard mode attributes sendonly, recvonly, sendrecv | |||
or inactive. The loopback-mode attributes (loopback-source and | or inactive. The loopback-mode attributes (loopback-source and | |||
loopback-mirror) replace the standard attributes. | loopback-mirror) replace the standard attributes. | |||
The offerer may offer more than one loopback-type in the SDP offer. | The offerer may offer more than one loopback-type in the SDP offer. | |||
In this case the answer MUST include only one of the loopback types | In this case the answer MUST include only one of the loopback types | |||
that are accepted by the answerer. The answerer SHOULD give | that are accepted by the answerer. The answerer SHOULD give | |||
preference to the first loopback-type in the SDP offer. | preference to the first loopback-type in the SDP offer. | |||
skipping to change at page 10, line 31 | skipping to change at page 9, line 42 | |||
target UA. | target UA. | |||
5.6 Modifying the Session | 5.6 Modifying the Session | |||
At any point during the loopback session, either participant may | At any point during the loopback session, either participant may | |||
issue a new offer to modify the characteristics of the previous | issue a new offer to modify the characteristics of the previous | |||
session. In case of SIP this is defined in section 8 of RFC 3264 | session. In case of SIP this is defined in section 8 of RFC 3264 | |||
[RFC3264]. This also includes transitioning from a normal media | [RFC3264]. This also includes transitioning from a normal media | |||
processing mode to loopback mode, and vice a versa. | processing mode to loopback mode, and vice a versa. | |||
5.7 Priming the loopback pump | ||||
In certain scenarios it is possible that the media transmitted by | ||||
the loopback-source is blocked by a network element until the | ||||
loopback-mirror starts transmitting packets. One example of this | ||||
scenario is the presence of an RTP relay in the path of the media. | ||||
RTP relays exist in VoIP networks for purpose of NAT and Firewall | ||||
traversal. If an RTP relay is present, the loopback-source's | ||||
packets are dropped by the RTP relay until the loopback-mirror has | ||||
started transmitting media and the media state within the RTP relay | ||||
is established. This results in a chicken and egg scenario as the | ||||
looback-mirror cannot transmit any media until it receives the | ||||
media packets from the loopback-source but for the loopback-mirror | ||||
to receive any packets it needs to send one first. In order to | ||||
resolve this dilemma, Section 8 introduces a new payload type whose | ||||
sole purpose is to establish the media state in the intermediate | ||||
devices. In the presence of this payload type, the loopback-mirror | ||||
will transmit media according to the payload description until it | ||||
receives media from the loopback-source. The loopback-mirror MAY | ||||
include this payload type in the answer if it is not present in the | ||||
offer. This may be necessary if the loopback-mirror is aware of | ||||
NAT's, firewalls, or RTP relays on the path of the call. In this | ||||
case the loopback-source MUST accept media corresponding to this | ||||
payload type. After the first media packet is received from the | ||||
loopback-source, the loopback-mirror MUST terminate the | ||||
transmission of media for this payload type and MUST start looping | ||||
back media as defined by the other loopback attributes present in | ||||
the offer. | ||||
6. RTP Requirements | 6. RTP Requirements | |||
An answering entity that is compliant to this specification and | An answering entity that is compliant to this specification and | |||
accepting a media with rtp-pkt-loopback loopback-type MUST loopback | accepting a media with rtp-pkt-loopback loopback-type MUST loopback | |||
the incoming RTP packets using either the encapsulated RTP payload | the incoming RTP packets using either the encapsulated RTP payload | |||
format or the direct loopback RTP payload format as defined in | format or the direct loopback RTP payload format as defined in | |||
section 7 of this specification. | section 7 of this specification. | |||
An answering entity that is compliant to this specification and | An answering entity that is compliant to this specification and | |||
accepting a media with rtp-media-loopback loopback-type MUST | accepting a media with rtp-media-loopback loopback-type MUST | |||
skipping to change at page 12, line 6 | skipping to change at page 11, line 45 | |||
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). | |||
Marker (M) bit: If the received RTP packet is looped back in | Marker (M) bit: If the received RTP packet is looped back in | |||
multiple RTP packets, the M bit is set to 1 in the last packet, | multiple RTP packets, the M bit is set to 1 in the last packet, | |||
otherwise it is set to 0. | otherwise it is set to 0. | |||
Extension (X) bit: Defined by the RTP Profile used. | Extension (X) bit: Defined by the RTP Profile used. | |||
Sequence Number: The RTP sequence number SHOULD be generated by the | Sequence Number: The RTP sequence number SHOULD be generated by the | |||
loopback-mirror in the usual manner with a constant random offset. | loopback-mirror in the usual manner with a constant random offset | |||
as described in RFC 3550 [RFC3550]. | ||||
Timestamp: The RTP timestamp denotes the sampling instant for when | Timestamp: The RTP timestamp denotes the sampling instant for when | |||
the loopback-mirror is transmitting this packet to the loopback- | the loopback-mirror is transmitting this packet to the loopback- | |||
source. The RTP timestamp MUST be based on the same clock used by | source. The RTP timestamp MUST use the same clock rate used by the | |||
the loopback-source. The initial value of the timestamp SHOULD be | loopback-source. The initial value of the timestamp SHOULD be | |||
random for security reasons (see Section 5.1 of RFC 3550 | 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 RTP header in the encapsulated packet MUST be followed by the | The RTP header in the encapsulated packet MUST be followed by the | |||
skipping to change at page 12, line 50 | skipping to change at page 12, line 47 | |||
| contributing source (CSRC) identifiers | | | contributing source (CSRC) identifiers | | |||
| .... | | | .... | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
The 12 octets after the receive timestamp are identical to the RTP | The 12 octets after the receive timestamp are identical to the RTP | |||
header in the received packet except for the first 4 bits of the | header in the received packet except for the first 4 bits of the | |||
first octet. | first octet. | |||
Receive Timestamp: 32 bits | Receive Timestamp: 32 bits | |||
The Receieve timestamp denotes the sampling instant for when the | The Receive timestamp denotes the sampling instant for when the | |||
last octet of the media packet that is being encapsulated by the | last octet of the received media packet that is being encapsulated | |||
loopback-mirror is received from the loopback-source. The Receive | by the loopback-mirror is received from the loopback-source. The | |||
timestamp MUST be based on the same clock used by the loopback- | Receive timestamp MUST be based on the same clock used by the | |||
source. The initial value of the timestamp SHOULD be random for | loopback-source. The initial value of the timestamp SHOULD be | |||
security reasons (see Section 5.1 of RFC 3550 [RFC3550]). | random for security reasons (see Section 5.1 of RFC 3550 | |||
[RFC3550]). | ||||
Fragmentation (F): 2 bits | Fragmentation (F): 2 bits | |||
First Fragment (00) /Last Fragment (01) /No Fragmentation(10)/ | First Fragment (00) /Last Fragment (01) /No Fragmentation(10)/ | |||
Intermediate Fragment (11). This field identifies how much of the | Intermediate Fragment (11). This field identifies how much of the | |||
received packet is encapsulated in this packet by the loopback- | received packet is encapsulated in this packet by the loopback- | |||
mirror. If the received packet is not fragmented, this field is | mirror. If the received packet is not fragmented, this field is | |||
set to 10; otherwise the packet that contains the first fragments | set to 10; otherwise the packet that contains the first fragments | |||
sets this field to 00, the packet that contains the last fragment | sets this field to 00, the packet that contains the last fragment | |||
sets this field to 01, all other packets set this field to 11. | sets this field to 01, all other packets set this field to 11. | |||
skipping to change at page 15, line 10 | skipping to change at page 15, line 8 | |||
negotiated using a mechanism like SDP. There is no static payload | negotiated using a mechanism like SDP. There is no static payload | |||
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 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 rtploopback/8000 | a=rtpmap:112 rtploopback/8000 | |||
8. RTCP Requirements | 8. Payload format for Priming the Loopback Pump | |||
The sole purpose of the payload format described in this section is | ||||
to prime the loopback pump in cases where the loopback process | ||||
cannot start because of intermediate devices in the network as | ||||
described in Section 5.7. | ||||
8.1 Usage of RTP Header fields | ||||
Payload Type (PT): The assignment of an RTP payload type for this | ||||
packet format is outside the scope of this document; it is either | ||||
specified by the RTP profile under which this payload format is | ||||
used or more likely signaled dynamically out-of-band (e.g., using | ||||
SDP; section 8.2 defines the name binding). | ||||
All other fields are set as described in RFC 3550 [RFC3550]. | ||||
8.2 Usage of SDP | ||||
The payload type number for the loopback primer stream can be | ||||
negotiated using a mechanism like SDP. There is no static payload | ||||
type assignment for the loopback primer stream, so dynamic payload | ||||
type numbers MUST be used. The binding to the name is indicated by | ||||
an rtpmap attribute. The name used in this binding is | ||||
"loopbkprimer". | ||||
The following is an example SDP fragment for loopback primer RTP | ||||
stream. | ||||
m=audio 41352 RTP/AVP 112 | ||||
a=rtpmap:112 loopbkprimer/8000 | ||||
9. RTCP Requirements | ||||
The use of the loopback attribute is intended for monitoring of | The use of the loopback attribute is intended for monitoring of | |||
media quality of the session. Consequently the media performance | media quality of the session. Consequently the media performance | |||
information should be exchanged between the offering and the | information should be exchanged between the offering and the | |||
answering entities. An offering or answering entity that is | answering entities. An offering or answering entity that is | |||
compliant to this specification SHOULD support RTCP per [RFC3550] | compliant to this specification SHOULD support RTCP per [RFC3550] | |||
and RTCP-XR per RFC 3611 [RFC3611]. Furthermore, if the client or | and RTCP-XR per RFC 3611 [RFC3611]. Furthermore, if the client or | |||
the server choose to support RTCP-XR, they SHOULD support RTCP-XR | the server choose to support RTCP-XR, they SHOULD support RTCP-XR | |||
Loss RLE report block, Duplicate RLE report block, Statistics | Loss RLE report block, Duplicate RLE report block, Statistics | |||
Summary report block, and VoIP Metric Reports Block per sections | Summary report block, and VoIP Metric Reports Block per sections | |||
4.1, 4.2, 4.6, and 4.7 of RFC 3611 [RFC3611]. The client and the | 4.1, 4.2, 4.6, and 4.7 of RFC 3611 [RFC3611]. The client and the | |||
server MAY support other RTCP-XR reporting blocks as defined by RFC | server MAY support other RTCP-XR reporting blocks as defined by RFC | |||
3611 [RFC3611]. | 3611 [RFC3611]. | |||
9. Congestion Control | 10. Congestion Control | |||
All the participants in a loopback session SHOULD implement | All the participants in a loopback session SHOULD implement | |||
congestion control mechanisms as defined by the RTP profile under | congestion control mechanisms as defined by the RTP profile under | |||
which the loopback mechanism is implemented. For audio video | which the loopback mechanism is implemented. For audio video | |||
profiles, implementations SHOULD conform to the mechanism defined | profiles, implementations SHOULD conform to the mechanism defined | |||
in Section 2 of RFC 3551. | in Section 2 of RFC 3551. | |||
10. 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. | |||
10.1 Offer for specific media loopback type | 11.1 Offer for specific media loopback type | |||
A client sends an INVITE request with SDP which looks like: | A client sends an INVITE request with SDP which looks like: | |||
v=0 | v=0 | |||
o=user1 2890844526 2890842807 IN IP4 192.0.2.11 | o=user1 2890844526 2890842807 IN IP4 192.0.2.11 | |||
s=Example | s=Example | |||
i=An example session | i=An example session | |||
e=user@example.com | e=user@example.com | |||
c=IN IP4 192.0.2.12/127 | c=IN IP4 192.0.2.12/127 | |||
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 | |||
a=loopback-source:0 | a=loopback-source:0 | |||
a=rtpmap:0 pcmu/8000 | ||||
The client is offering to source the media and expects the server | The client is offering to source the media and expects the server | |||
to mirror the RTP stream per rtp-media-loopback loopback type. | to mirror the RTP stream per rtp-media-loopback loopback type. | |||
A server sends a response with SDP which looks like: | A server sends a response with SDP which looks like: | |||
v=0 | v=0 | |||
o=user1 2890844526 2890842807 IN IP4 192.0.2.11 | o=user1 2890844526 2890842807 IN IP4 192.0.2.11 | |||
s=Example | s=Example | |||
i=An example session | i=An example session | |||
e=user@example.com | e=user@example.com | |||
c=IN IP4 192.0.2.12/127 | c=IN IP4 192.0.2.12/127 | |||
t=0 0 | t=0 0 | |||
m=audio 49270 RTP/AVP 0 | m=audio 49270 RTP/AVP 0 | |||
a=loopback:rtp-media-loopback | a=loopback:rtp-media-loopback | |||
a=loopback-mirror:0 | a=loopback-mirror:0 | |||
a=rtpmap:0 pcmu/8000 | ||||
The server is accepting to mirror the media from the client at the | The server is accepting to mirror the media from the client at the | |||
media level. | media level. | |||
10.2 Offer for choice of media loopback type | 11.2 Offer for choice of media loopback type | |||
A client sends an INVITE request with SDP which looks like: | A client sends an INVITE request with SDP which looks like: | |||
v=0 | v=0 | |||
o=user1 2890844526 2890842807 IN IP4 192.0.2.11 | o=user1 2890844526 2890842807 IN IP4 192.0.2.11 | |||
s=Example | s=Example | |||
i=An example session | i=An example session | |||
e=user@example.com | e=user@example.com | |||
c=IN IP4 192.0.2.12/127 | c=IN IP4 192.0.2.12/127 | |||
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 | |||
a=loopback-source:0 | a=loopback-source:0 | |||
a=rtpmap:0 pcum/8000 | ||||
a=rtpmap:112 encaprtp/8000 | a=rtpmap:112 encaprtp/8000 | |||
a=rtpmap:113 rtploopback/8000 | a=rtpmap:113 rtploopback/8000 | |||
The client is offering to source the media and expects the server | The client is offering to source the media and expects the server | |||
to mirror the RTP stream at either the media or rtp level. | to mirror the RTP stream at either the media or rtp level. | |||
A server sends a response with SDP which looks like: | A server sends a response with SDP which looks like: | |||
v=0 | v=0 | |||
o=user1 2890844526 2890842807 IN IP4 192.0.2.11 | o=user1 2890844526 2890842807 IN IP4 192.0.2.11 | |||
s=Example | s=Example | |||
i=An example session | i=An example session | |||
e=user@example.com | e=user@example.com | |||
c=IN IP4 192.0.2.12/127 | c=IN IP4 192.0.2.12/127 | |||
t=0 0 | t=0 0 | |||
m=audio 49270 RTP/AVP 112 | m=audio 49270 RTP/AVP 112 | |||
a=loopback:rtp-pkt-loopback | a=loopback:rtp-pkt-loopback | |||
a=loopback-mirror:0 | a=loopback-mirror:0 | |||
a=rtpmap:0 pcmu/8000 | ||||
a=rtpmap:112 encaprtp/8000 | a=rtpmap:112 encaprtp/8000 | |||
The server is accepting to mirror the media from the client at the | The server is accepting to mirror the media from the client at the | |||
packet level using the encapsulated RTP payload format. | packet level using the encapsulated RTP payload format. | |||
10.3 Offer for choice of media loopback type with rtp-start-loopback | 11.3 Offer for choice of media loopback type with loopback primer | |||
A client sends an INVITE request with SDP which looks like: | A client sends an INVITE request with SDP which looks like: | |||
v=0 | v=0 | |||
o=user1 2890844526 2890842807 IN IP4 192.0.2.11 | o=user1 2890844526 2890842807 IN IP4 192.0.2.11 | |||
s=Example | s=Example | |||
i=An example session | i=An example session | |||
e=user@example.com | e=user@example.com | |||
c=IN IP4 192.0.2.12/127 | c=IN IP4 192.0.2.12/127 | |||
t=0 0 | t=0 0 | |||
m=audio 49170 RTP/AVP 0 112 113 | m=audio 49170 RTP/AVP 0 112 113 114 | |||
a=loopback:rtp-media-loopback rtp-pkt-loopback | a=loopback:rtp-media-loopback rtp-pkt-loopback | |||
a=loopback-source:0 | a=loopback-source:0 | |||
a=rtpmap:0 pcmu/8000 | ||||
a=rtpmap:112 encaprtp/8000 | a=rtpmap:112 encaprtp/8000 | |||
a=rtpmap:113 rtploopback/8000 | a=rtpmap:113 rtploopback/8000 | |||
m=audio 49170 RTP/AVP 100 | a=rtpmap:114 loopbkprimer/8000 | |||
a=loopback:rtp-start-loopback | ||||
The client is offering to source the media and expects the server | The client is offering to source the media and expects the server | |||
to mirror the RTP stream at either the media or rtp level. The | to mirror the RTP stream at either the media or rtp level. The | |||
client also expects the server to source media until it receives | client also expects the server to source media until it receives | |||
packets from the server per media described with the | packets from the server per media described with the loopbkprimer | |||
rtp-start-loopback attribute. | payload type. | |||
A server sends a response with SDP which looks like: | A server sends a response with SDP which looks like: | |||
v=0 | v=0 | |||
o=user1 2890844526 2890842807 IN IP4 192.0.2.11 | o=user1 2890844526 2890842807 IN IP4 192.0.2.11 | |||
s=Example | s=Example | |||
i=An example session | i=An example session | |||
e=user@example.com | e=user@example.com | |||
c=IN IP4 192.0.2.12/127 | c=IN IP4 192.0.2.12/127 | |||
t=0 0 | t=0 0 | |||
m=audio 49270 RTP/AVP 113 | m=audio 49270 RTP/AVP 113 | |||
a=loopback:rtp-pkt-loopback | a=loopback:rtp-pkt-loopback | |||
a=loopback-mirror:0 | a=loopback-mirror:0 114 | |||
a=rtpmap:0 pcmu/8000 | ||||
a=rtpmap:113 rtploopback/8000 | a=rtpmap:113 rtploopback/8000 | |||
m=audio 49270 RTP/AVP 100 | a=rtmpa:114 loopbkprimer/8000 | |||
a=rtpmap:100 pcmu/8000 | ||||
a=loopback:rtp-start-loopback | ||||
The server is accepting to mirror the media from the client at the | The server is accepting to mirror the media from the client at the | |||
packet level using the direct loopback RTP payload format. The | packet level using the direct loopback RTP payload format. The | |||
server is also accepting to source media until it receives media | server is also accepting to source media until it receives media | |||
packets from the client. | packets from the client. | |||
10.4 Response to INVITE request rejecting loopback media | 11.4 Response to INVITE request rejecting loopback media | |||
A client sends an INVITE request with SDP which looks like: | A client sends an INVITE request with SDP which looks like: | |||
v=0 | v=0 | |||
o=user1 2890844526 2890842807 IN IP4 192.0.2.11 | o=user1 2890844526 2890842807 IN IP4 192.0.2.11 | |||
s=Example | s=Example | |||
i=An example session | i=An example session | |||
e=user@example.com | e=user@example.com | |||
c=IN IP4 192.0.2.12/127 | c=IN IP4 192.0.2.12/127 | |||
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 | |||
a=loopback-source:0 | a=loopback-source:0 | |||
a=rtpmap:0 pcmu/8000 | ||||
The client is offering to source the media and expects the server | The client is offering to source the media and expects the server | |||
to mirror the RTP stream at the media level. | to mirror the RTP stream at the media level. | |||
A server sends a response with SDP which looks like: | A server sends a response with SDP which looks like: | |||
v=0 | v=0 | |||
o=user1 2890844526 2890842807 IN IP4 192.0.2.11 | o=user1 2890844526 2890842807 IN IP4 192.0.2.11 | |||
s=Example | s=Example | |||
i=An example session | i=An example session | |||
e=user@example.com | e=user@example.com | |||
c=IN IP4 192.0.2.12/127 | c=IN IP4 192.0.2.12/127 | |||
t=0 0 | t=0 0 | |||
m=audio 0 RTP/AVP 0 | m=audio 0 RTP/AVP 0 | |||
a=loopback:rtp-media-loopback | a=loopback:rtp-media-loopback | |||
a=loopback-mirror:0 | a=loopback-mirror:0 | |||
a=rtpmap:0 pcmu/8000 | ||||
NOTE: Loopback request may be rejected by either not including the | NOTE: Loopback request may be rejected by either not including the | |||
loopback mode attribute (for backward compatibility) or setting the | loopback mode attribute (for backward compatibility) or setting the | |||
media port number to zero, or both, in the response. | media port number to zero, or both, in the response. | |||
10.5 Response to INVITE request rejecting loopback media with | 11.5 Response to INVITE request rejecting loopback media with loopback | |||
rtp-start-loopback | primer payload type | |||
A client sends an INVITE request with SDP which looks like: | A client sends an INVITE request with SDP which looks like: | |||
v=0 | v=0 | |||
o=user1 2890844526 2890842807 IN IP4 192.0.2.11 | o=user1 2890844526 2890842807 IN IP4 192.0.2.11 | |||
s=Example | s=Example | |||
i=An example session | i=An example session | |||
e=user@example.com | e=user@example.com | |||
c=IN IP4 192.0.2.12/127 | c=IN IP4 192.0.2.12/127 | |||
t=0 0 | t=0 0 | |||
m=audio 49170 RTP/AVP 0 | m=audio 49170 RTP/AVP 0 100 | |||
a=loopback:rtp-media-loopback | a=loopback:rtp-media-loopback | |||
a=loopback-source:0 | a=loopback-source:0 | |||
m=audio 49170 RTP/AVP 100 | a=rtpmap:0 pcum/8000 | |||
a=loopback:rtp-start-loopback | a=rtpmap:100 loopbkprimer/8000 | |||
The client is offering to source the media and expects the server | The client is offering to source the media and expects the server | |||
to mirror the RTP stream at the media level. The client also | to mirror the RTP stream at the media level. The client also | |||
expects the server to source media until it receives packets from | expects the server to source media until it receives packets from | |||
the server per media described with the rtp-start-loopback | the server using the loopbkprimer payload type. | |||
attribute. | ||||
A server sends a response with SDP which looks like: | A server sends a response with SDP which looks like: | |||
v=0 | v=0 | |||
o=user1 2890844526 2890842807 IN IP4 192.0.2.11 | o=user1 2890844526 2890842807 IN IP4 192.0.2.11 | |||
s=Example | s=Example | |||
i=An example session | i=An example session | |||
e=user@example.com | e=user@example.com | |||
c=IN IP4 192.0.2.12/127 | c=IN IP4 192.0.2.12/127 | |||
t=0 0 | t=0 0 | |||
m=audio 0 RTP/AVP 0 | m=audio 0 RTP/AVP 0 | |||
a=loopback:rtp-media-loopback | a=loopback:rtp-media-loopback | |||
a=loopback-mirror:0 | a=loopback-mirror:0 | |||
m=audio 0 RTP/AVP 0 | ||||
a=loopback:rtp-start-loopback | ||||
NOTE: Loopback request may be rejected by either not including the | NOTE: Loopback request may be rejected by either not including the | |||
loopback mode attribute (for backward compatibility) or setting the | loopback mode attribute (for backward compatibility) or setting the | |||
media port number to zero, or both, in the response. | media port number to zero, or both, in the response. | |||
11. Security Considerations | 12. Security Considerations | |||
The security considerations of [RFC3261] apply. Furthermore, given | The security considerations of [RFC3261] apply. Furthermore, given | |||
that media loopback may be automated without the end user's | that media loopback may be automated without the end user's | |||
knowledge, the server of the media loopback should be aware of | knowledge, the server of the media loopback should be aware of | |||
denial of service attacks. It is recommended that sessions with | denial of service attacks. It is recommended that sessions with | |||
media loopback are authenticated and the frequency of such sessions | media loopback are authenticated and the frequency of such sessions | |||
is limited by the server. | is limited by the server. | |||
12. 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 believed that the solution may not be light-weight enough for | is believed that the solution may not be light-weight enough for | |||
the common case. In light of this concern, this section clarifies | the common case. In light of this concern, this section clarifies | |||
which features of the loopback proposal MUST be implemented for all | which features of the loopback proposal MUST be implemented for all | |||
implementations and which features MAY be deferred if the complete | implementations and which features MAY be deferred if the complete | |||
solution is not desired. | solution is not desired. | |||
All implementations MUST support the rtp-pkt-loopback option for | All implementations MUST support the rtp-pkt-loopback option for | |||
loopback-type attribute. In addition, for the loopback-mode | loopback-type attribute. In addition, for the loopback-mode | |||
attribute, all implementations of an offerer MUST at a minimum be | attribute, all implementations of an offerer MUST at a minimum be | |||
able to act as a loopback-source. All implementation MUST also at a | able to act as a loopback-source. All implementation MUST also at a | |||
minimum support the direct media loopback payload type. Remaining | minimum support the direct media loopback payload type. The rtp- | |||
attribute values including rtp-media-loopback and | media-loopback attribute MAY be implemented in complete | |||
rtp-start-loopback MAY be implemented in complete implementations | implementations of this draft. | |||
of this draft. | ||||
13. IANA Considerations | 14. IANA Considerations | |||
13.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 | |||
<kaynam.hedayat@exfo.com>. | <kaynam.hedayat@exfo.com>. | |||
Attribute name: "loopback". | Attribute name: "loopback". | |||
Type of attribute: Media level. | Type of attribute: Media level. | |||
Subject to charset: No. | Subject to charset: No. | |||
Purpose of attribute: The 'loopback' attribute is used to | Purpose of attribute: The 'loopback' attribute is used to | |||
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," | one or more of "rtp-pkt-loopback" and | |||
"rtp-media-loopback," and | "rtp-media-loopback". See section 5 | |||
"rtp-start-loopback". See section 5 | ||||
of this document for syntax. | of this document for syntax. | |||
Contact name: Kaynam Hedayat | Contact name: Kaynam Hedayat | |||
<kaynam.hedayat@exfo.com>. | <kaynam.hedayat@exfo.com>. | |||
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: The parameter to 'loopback-source' is | Allowed attribute values: The parameter to 'loopback-source' is | |||
a media format ("<fmt>") description | a media format ("<fmt>") description | |||
as defined in RFC 4566 Section 5.14. | as defined in RFC 4566 Section 5.14. | |||
Contact name: Kaynam Hedayat | Contact name: Kaynam Hedayat | |||
skipping to change at page 21, line 41 | skipping to change at page 22, line 27 | |||
Type of attribute: Media level. | Type of attribute: Media level. | |||
Subject to charset: No. | Subject to charset: No. | |||
Purpose of attribute: The 'loopback-mirror' attribute | Purpose of attribute: The 'loopback-mirror' attribute | |||
specifies that the receiver will | specifies that the receiver will | |||
mirror (echo) all received media back | mirror (echo) all received media back | |||
to the sender of the RTP stream. | to the sender of the RTP stream. | |||
Allowed attribute values: The parameter to 'loopback-mirror' is | Allowed attribute values: The parameter to 'loopback-mirror' is | |||
a media format ("<fmt>") description | a media format ("<fmt>") description | |||
as defined in RFC 4566 Section 5.14. | as defined in RFC 4566 Section 5.14. | |||
13.2 MIME Types | 14.2 MIME Types | |||
The IANA has registered the following MIME types: | The IANA has registered the following MIME types: | |||
13.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 | |||
Subtype name: encaprtp | Subtype name: encaprtp | |||
Required parameters: | Required parameters: | |||
rate:RTP timestamp clock rate, which is equal to the | rate:RTP timestamp clock rate, which is equal to the | |||
sampling rate. The typical rate is 8000; other rates | sampling rate. The typical rate is 8000; other rates | |||
may be specified. | may be specified. | |||
Optional parameters: none | Optional parameters: none | |||
skipping to change at page 22, line 17 | skipping to change at page 23, line 5 | |||
rate:RTP timestamp clock rate, which is equal to the | rate:RTP timestamp clock rate, which is equal to the | |||
sampling rate. The typical rate is 8000; other rates | sampling rate. The typical rate is 8000; other rates | |||
may be specified. | may be specified. | |||
Optional parameters: none | Optional parameters: none | |||
Encoding considerations: This media type is framed | Encoding considerations: This media type is framed | |||
binary data. | binary data. | |||
Security considerations: See Section 11 of this document. | Security considerations: See Section 12 of this document. | |||
Interoperability considerations: none | Interoperability considerations: none | |||
Published specification: This MIME type is described fully | Published specification: This MIME type is described fully | |||
within this document. | within this document. | |||
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, Real-Time Text or Video Over IP | edge of a given VoIP, Real-Time Text or Video Over IP | |||
Service. | Service. | |||
skipping to change at page 23, line 5 | skipping to change at page 23, line 37 | |||
framing, and hence is only defined for transfer via | framing, and hence is only defined for transfer via | |||
RTP. Transfer within other framing protocols is not | RTP. Transfer within other framing protocols is not | |||
defined at this time. | defined at this time. | |||
Author: | Author: | |||
Kaynam Hedayat. | Kaynam Hedayat. | |||
Change controller: IETF Audio/Video Transport working | Change controller: IETF Audio/Video Transport working | |||
group delegated from the IESG. | group delegated from the IESG. | |||
13.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 | |||
Subtype name: encaprtp | Subtype name: encaprtp | |||
Required parameters: | Required parameters: | |||
rate:RTP timestamp clock rate, which is equal to the | rate:RTP timestamp clock rate, which is equal to the | |||
sampling rate. The typical rate is 8000; other rates | sampling rate. The typical rate is 8000; other rates | |||
may be specified. | may be specified. | |||
Optional parameters: none | Optional parameters: none | |||
Encoding considerations: This media type is framed | Encoding considerations: This media type is framed | |||
binary data. | binary data. | |||
Security considerations: See Section 11 of this document. | Security considerations: See Section 12 of this document. | |||
Interoperability considerations: none | Interoperability considerations: none | |||
Published specification: This MIME type is described fully | Published specification: This MIME type is described fully | |||
within this document. | within this document. | |||
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, Real-Time Text or Video Over IP | edge of a given VoIP, Real-Time Text or Video Over IP | |||
Service. | Service. | |||
skipping to change at page 24, line 8 | skipping to change at page 24, line 42 | |||
framing, and hence is only defined for transfer via | framing, and hence is only defined for transfer via | |||
RTP. Transfer within other framing protocols is not | RTP. Transfer within other framing protocols is not | |||
defined at this time. | defined at this time. | |||
Author: | Author: | |||
Kaynam Hedayat. | Kaynam Hedayat. | |||
Change controller: IETF Audio/Video Transport working | Change controller: IETF Audio/Video Transport working | |||
group delegated from the IESG. | group delegated from the IESG. | |||
13.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 | |||
Subtype name: encaprtp | Subtype name: encaprtp | |||
Required parameters: | Required parameters: | |||
rate:RTP timestamp clock rate, which is equal to the | rate:RTP timestamp clock rate, which is equal to the | |||
sampling rate. The typical rate is 8000; other rates | sampling rate. The typical rate is 8000; other rates | |||
may be specified. | may be specified. | |||
Optional parameters: none | Optional parameters: none | |||
Encoding considerations: This media type is framed | Encoding considerations: This media type is framed | |||
binary data. | binary data. | |||
skipping to change at page 24, line 29 | skipping to change at page 25, line 15 | |||
rate:RTP timestamp clock rate, which is equal to the | rate:RTP timestamp clock rate, which is equal to the | |||
sampling rate. The typical rate is 8000; other rates | sampling rate. The typical rate is 8000; other rates | |||
may be specified. | may be specified. | |||
Optional parameters: none | Optional parameters: none | |||
Encoding considerations: This media type is framed | Encoding considerations: This media type is framed | |||
binary data. | binary data. | |||
Security considerations: See Section 11 of this document. | Security considerations: See Section 12 of this document. | |||
Interoperability considerations: none | Interoperability considerations: none | |||
Published specification: This MIME type is described fully | Published specification: This MIME type is described fully | |||
within this document. | within this document. | |||
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, Real-Time Text or Video Over IP | edge of a given VoIP, Real-Time Text or Video Over IP | |||
Service. | Service. | |||
skipping to change at page 25, line 13 | skipping to change at page 25, line 47 | |||
framing, and hence is only defined for transfer via | framing, and hence is only defined for transfer via | |||
RTP. Transfer within other framing protocols is not | RTP. Transfer within other framing protocols is not | |||
defined at this time. | defined at this time. | |||
Author: | Author: | |||
Kaynam Hedayat. | Kaynam Hedayat. | |||
Change controller: IETF Audio/Video Transport working | Change controller: IETF Audio/Video Transport working | |||
group delegated from the IESG. | group delegated from the IESG. | |||
13.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 | |||
Subtype name: encaprtp | Subtype name: encaprtp | |||
Required parameters: | Required parameters: | |||
rate:RTP timestamp clock rate, which is equal to the | rate:RTP timestamp clock rate, which is equal to the | |||
skipping to change at page 25, line 35 | skipping to change at page 26, line 22 | |||
rate:RTP timestamp clock rate, which is equal to the | rate:RTP timestamp clock rate, which is equal to the | |||
sampling rate. The typical rate is 8000; other rates | sampling rate. The typical rate is 8000; other rates | |||
may be specified. | may be specified. | |||
Optional parameters: none | Optional parameters: none | |||
Encoding considerations: This media type is framed | Encoding considerations: This media type is framed | |||
binary data. | binary data. | |||
Security considerations: See Section 11 of this document. | Security considerations: See Section 12 of this document. | |||
Interoperability considerations: none | Interoperability considerations: none | |||
Published specification: This MIME type is described fully | Published specification: This MIME type is described fully | |||
within this document. | within this document. | |||
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, Real-Time Text or Video Over IP | edge of a given VoIP, Real-Time Text or Video Over IP | |||
Service. | Service. | |||
skipping to change at page 26, line 19 | skipping to change at page 27, line 5 | |||
framing, and hence is only defined for transfer via | framing, and hence is only defined for transfer via | |||
RTP. Transfer within other framing protocols is not | RTP. Transfer within other framing protocols is not | |||
defined at this time. | defined at this time. | |||
Author: | Author: | |||
Kaynam Hedayat. | Kaynam Hedayat. | |||
Change controller: IETF Audio/Video Transport working | Change controller: IETF Audio/Video Transport working | |||
group delegated from the IESG. | group delegated from the IESG. | |||
13.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 | |||
Subtype name: rtploopback | Subtype name: rtploopback | |||
Required parameters: | Required parameters: | |||
rate:RTP timestamp clock rate, which is equal to the | rate:RTP timestamp clock rate, which is equal to the | |||
sampling rate. The typical rate is 8000; other rates | sampling rate. The typical rate is 8000; other rates | |||
may be specified. | may be specified. | |||
Optional parameters: none | Optional parameters: none | |||
Encoding considerations: This media type is framed | Encoding considerations: This media type is framed | |||
binary data. | binary data. | |||
Security considerations: See Section 11 of this document. | Security considerations: See Section 12 of this document. | |||
Interoperability considerations: none | Interoperability considerations: none | |||
Published specification: This MIME type is described fully | Published specification: This MIME type is described fully | |||
within this document. | within this document. | |||
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, Real-Time Text or Video Over IP | edge of a given VoIP, Real-Time Text or Video Over IP | |||
Service. | Service. | |||
skipping to change at page 27, line 17 | skipping to change at page 28, line 4 | |||
EMail: kaynam.hedayat@exfo.com | EMail: kaynam.hedayat@exfo.com | |||
Intended usage: COMMON | Intended usage: COMMON | |||
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 Audio/Video Transport working | |||
group delegated from the IESG. | group delegated from the IESG. | |||
13.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 | |||
Subtype name: rtploopback | Subtype name: rtploopback | |||
Required parameters: | Required parameters: | |||
rate:RTP timestamp clock rate, which is equal to the | rate:RTP timestamp clock rate, which is equal to the | |||
sampling rate. The typical rate is 8000; other rates | sampling rate. The typical rate is 8000; other rates | |||
may be specified. | may be specified. | |||
Optional parameters: none | Optional parameters: none | |||
Encoding considerations: This media type is framed | Encoding considerations: This media type is framed | |||
binary data. | binary data. | |||
Security considerations: See Section 11 of this document. | Security considerations: See Section 12 of this document. | |||
Interoperability considerations: none | Interoperability considerations: none | |||
Published specification: This MIME type is described fully | Published specification: This MIME type is described fully | |||
within this document. | within this document. | |||
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, Real-Time Text or Video Over IP | edge of a given VoIP, Real-Time Text or Video Over IP | |||
Service. | Service. | |||
skipping to change at page 28, line 27 | skipping to change at page 29, line 13 | |||
framing, and hence is only defined for transfer via | framing, and hence is only defined for transfer via | |||
RTP. Transfer within other framing protocols is not | RTP. Transfer within other framing protocols is not | |||
defined at this time. | defined at this time. | |||
Author: | Author: | |||
Kaynam Hedayat. | Kaynam Hedayat. | |||
Change controller: IETF Audio/Video Transport working | Change controller: IETF Audio/Video Transport working | |||
group delegated from the IESG. | group delegated from the IESG. | |||
13.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 | |||
Subtype name: rtploopback | Subtype name: rtploopback | |||
Required parameters: | Required parameters: | |||
rate:RTP timestamp clock rate, which is equal to the | rate:RTP timestamp clock rate, which is equal to the | |||
sampling rate. The typical rate is 8000; other rates | sampling rate. The typical rate is 8000; other rates | |||
may be specified. | may be specified. | |||
Optional parameters: none | Optional parameters: none | |||
Encoding considerations: This media type is framed | Encoding considerations: This media type is framed | |||
binary data. | binary data. | |||
Security considerations: See Section 11 of this document. | Security considerations: See Section 12 of this document. | |||
Interoperability considerations: none | Interoperability considerations: none | |||
Published specification: This MIME type is described fully | Published specification: This MIME type is described fully | |||
within this document. | within this document. | |||
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, Real-Time Text or Video Over IP | edge of a given VoIP, Real-Time Text or Video Over IP | |||
Service. | Service. | |||
Additional information: none | Additional information: none | |||
skipping to change at page 29, line 32 | skipping to change at page 30, line 18 | |||
framing, and hence is only defined for transfer via | framing, and hence is only defined for transfer via | |||
RTP. Transfer within other framing protocols is not | RTP. Transfer within other framing protocols is not | |||
defined at this time. | defined at this time. | |||
Author: | Author: | |||
Kaynam Hedayat. | Kaynam Hedayat. | |||
Change controller: IETF Audio/Video Transport working | Change controller: IETF Audio/Video Transport working | |||
group delegated from the IESG. | group delegated from the IESG. | |||
13.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 | |||
Subtype name: rtploopback | Subtype name: rtploopback | |||
skipping to change at page 30, line 6 | skipping to change at page 30, line 40 | |||
rate:RTP timestamp clock rate, which is equal to the | rate:RTP timestamp clock rate, which is equal to the | |||
sampling rate. The typical rate is 8000; other rates | sampling rate. The typical rate is 8000; other rates | |||
may be specified. | may be specified. | |||
Optional parameters: none | Optional parameters: none | |||
Encoding considerations: This media type is framed | Encoding considerations: This media type is framed | |||
binary data. | binary data. | |||
Security considerations: See Section 11 of this document. | Security considerations: See Section 12 of this document. | |||
Interoperability considerations: none | Interoperability considerations: none | |||
Published specification: This MIME type is described fully | Published specification: This MIME type is described fully | |||
within this document. | within this document. | |||
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, Real-Time Text or Video Over IP | edge of a given VoIP, Real-Time Text or Video Over IP | |||
Service. | Service. | |||
skipping to change at page 30, line 38 | skipping to change at page 31, line 25 | |||
framing, and hence is only defined for transfer via | framing, and hence is only defined for transfer via | |||
RTP. Transfer within other framing protocols is not | RTP. Transfer within other framing protocols is not | |||
defined at this time. | defined at this time. | |||
Author: | Author: | |||
Kaynam Hedayat. | Kaynam Hedayat. | |||
Change controller: IETF Audio/Video Transport working | Change controller: IETF Audio/Video Transport working | |||
group delegated from the IESG. | group delegated from the IESG. | |||
14. Acknowledgements | 14.2.9 audio/loopbkprimer | |||
To: ietf-types@iana.org | ||||
Subject: Registration of media type audio/loopbkprimer | ||||
Type name: audio | ||||
Subtype name: loopbkprimer | ||||
Required parameters: | ||||
rate:RTP timestamp clock rate, which is equal to the | ||||
sampling rate. The typical rate is 8000; other rates | ||||
may be specified. | ||||
Optional parameters: none | ||||
Encoding considerations: This media type is framed | ||||
binary data. | ||||
Security considerations: See Section 12 of this document. | ||||
Interoperability considerations: none | ||||
Published specification: This MIME type is described fully | ||||
within this document. | ||||
Applications which use this media type: Applications wishing | ||||
to monitor and ensure the quality of transport to the | ||||
edge of a given VoIP, Real-Time Text or Video Over IP | ||||
Service. | ||||
Additional information: none | ||||
Person & email address to contact for further information: | ||||
Kaynam Hedayat | ||||
EMail: kaynam.hedayat@exfo.com | ||||
Intended usage: COMMON | ||||
Restrictions on usage: This media type depends on RTP | ||||
framing, and hence is only defined for transfer via | ||||
RTP. Transfer within other framing protocols is not | ||||
defined at this time. | ||||
Author: | ||||
Kaynam Hedayat. | ||||
Change controller: IETF Audio/Video Transport working | ||||
group delegated from the IESG. | ||||
14.2.10 video/loopbkprimer | ||||
To: ietf-types@iana.org | ||||
Subject: Registration of media type video/loopbkprimer | ||||
Type name: video | ||||
Subtype name: loopbkprimer | ||||
Required parameters: | ||||
rate:RTP timestamp clock rate, which is equal to the | ||||
sampling rate. The typical rate is 8000; other rates | ||||
may be specified. | ||||
Optional parameters: none | ||||
Encoding considerations: This media type is framed | ||||
binary data. | ||||
Security considerations: See Section 12 of this document. | ||||
Interoperability considerations: none | ||||
Published specification: This MIME type is described fully | ||||
within this document. | ||||
Applications which use this media type: Applications wishing | ||||
to monitor and ensure the quality of transport to the | ||||
edge of a given VoIP, Real-Time Text or Video Over IP | ||||
Service. | ||||
Additional information: none | ||||
Person & email address to contact for further information: | ||||
Kaynam Hedayat | ||||
EMail: kaynam.hedayat@exfo.com | ||||
Intended usage: COMMON | ||||
Restrictions on usage: This media type depends on RTP | ||||
framing, and hence is only defined for transfer via | ||||
RTP. Transfer within other framing protocols is not | ||||
defined at this time. | ||||
Author: | ||||
Kaynam Hedayat. | ||||
Change controller: IETF Audio/Video Transport working | ||||
group delegated from the IESG. | ||||
14.2.11 text/loopbkprimer | ||||
To: ietf-types@iana.org | ||||
Subject: Registration of media type text/loopbkprimer | ||||
Type name: text | ||||
Subtype name: encaprtp | ||||
Required parameters: | ||||
rate:RTP timestamp clock rate, which is equal to the | ||||
sampling rate. The typical rate is 8000; other rates | ||||
may be specified. | ||||
Optional parameters: none | ||||
Encoding considerations: This media type is framed | ||||
binary data. | ||||
Security considerations: See Section 12 of this document. | ||||
Interoperability considerations: none | ||||
Published specification: This MIME type is described fully | ||||
within this document. | ||||
Applications which use this media type: Applications wishing | ||||
to monitor and ensure the quality of transport to the | ||||
edge of a given VoIP, Real-Time Text or Video Over IP | ||||
Service. | ||||
Additional information: none | ||||
Person & email address to contact for further information: | ||||
Kaynam Hedayat | ||||
EMail: kaynam.hedayat@exfo.com | ||||
Intended usage: COMMON | ||||
Restrictions on usage: This media type depends on RTP | ||||
framing, and hence is only defined for transfer via | ||||
RTP. Transfer within other framing protocols is not | ||||
defined at this time. | ||||
Author: | ||||
Kaynam Hedayat. | ||||
Change controller: IETF Audio/Video Transport working | ||||
group delegated from the IESG. | ||||
14.2.12 application/loopbkprimer | ||||
To: ietf-types@iana.org | ||||
Subject: Registration of media type | ||||
application/loopbkprimer | ||||
Type name: application | ||||
Subtype name: loopbkprimer | ||||
Required parameters: | ||||
rate:RTP timestamp clock rate, which is equal to the | ||||
sampling rate. The typical rate is 8000; other rates | ||||
may be specified. | ||||
Optional parameters: none | ||||
Encoding considerations: This media type is framed | ||||
binary data. | ||||
Security considerations: See Section 12 of this document. | ||||
Interoperability considerations: none | ||||
Published specification: This MIME type is described fully | ||||
within this document. | ||||
Applications which use this media type: Applications wishing | ||||
to monitor and ensure the quality of transport to the | ||||
edge of a given VoIP, Real-Time Text or Video Over IP | ||||
Service. | ||||
Additional information: none | ||||
Person & email address to contact for further information: | ||||
Kaynam Hedayat | ||||
EMail: kaynam.hedayat@exfo.com | ||||
Intended usage: COMMON | ||||
Restrictions on usage: This media type depends on RTP | ||||
framing, and hence is only defined for transfer via | ||||
RTP. Transfer within other framing protocols is not | ||||
defined at this time. | ||||
Author: | ||||
Kaynam Hedayat. | ||||
Change controller: IETF Audio/Video Transport working | ||||
group delegated from the IESG. | ||||
15. Acknowledgements | ||||
The authors wish to thank Nagarjuna Venna, Flemming Andreasen, Jeff | The authors wish to thank Nagarjuna Venna, Flemming Andreasen, Jeff | |||
Bernstein, Paul Kyzivat, and Dave Oran for their comments and | Bernstein, Paul Kyzivat, and Dave Oran for their comments and | |||
suggestions. | suggestions. | |||
15. Normative References | 16. Normative References | |||
[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., | [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., | |||
Johnston, A., Peterson, J., Sparks, R., Handley, M. | Johnston, A., Peterson, J., Sparks, R., Handley, M. | |||
and E. Schooler, "SIP: Session Initiation Protocol", | and E. Schooler, "SIP: Session Initiation Protocol", | |||
RFC 3261, June 2002. | RFC 3261, June 2002. | |||
[RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer | [RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer | |||
Model with the Session Description Protocol (SDP)", | Model with the Session Description Protocol (SDP)", | |||
RFC 3264, June 2002. | RFC 3264, June 2002. | |||
[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. | |||
End of changes. 76 change blocks. | ||||
151 lines changed or deleted | 387 lines changed or added | |||
This html diff was produced by rfcdiff 1.38. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |