[AVT] RTP in draft-ietf-behave-nat-00
Stephen Casner <casner@acm.org> Mon, 08 November 2004 22:23 UTC
Received: from ietf-mx.ietf.org (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id RAA09897 for <avt-archive@ietf.org>; Mon, 8 Nov 2004 17:23:35 -0500 (EST)
Received: from megatron.ietf.org ([132.151.6.71]) by ietf-mx.ietf.org with esmtp (Exim 4.33) id 1CRHvt-0007yP-81 for avt-archive@ietf.org; Mon, 08 Nov 2004 17:24:17 -0500
Received: from localhost.localdomain ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1CRHiW-0005Rb-Bp; Mon, 08 Nov 2004 17:10:28 -0500
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1CRHVc-0002bW-Bl for avt@megatron.ietf.org; Mon, 08 Nov 2004 16:57:09 -0500
Received: from ietf-mx.ietf.org (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id QAA07337 for <avt@ietf.org>; Mon, 8 Nov 2004 16:57:05 -0500 (EST)
Received: from dns.packetdesign.com ([65.192.41.10] helo=mailman.packetdesign.com) by ietf-mx.ietf.org with esmtp (Exim 4.33) id 1CRHWD-0007Fw-KP for avt@ietf.org; Mon, 08 Nov 2004 16:57:47 -0500
Received: from packetdesign.com (main-fw-eth1.packetdesign.com [192.168.0.254]) by mailman.packetdesign.com (8.12.8/8.12.8) with ESMTP id iA8LtPCJ021717; Mon, 8 Nov 2004 13:55:25 -0800 (PST) (envelope-from casner@acm.org)
Date: Mon, 08 Nov 2004 13:55:54 -0800
From: Stephen Casner <casner@acm.org>
To: audet@nortelnetworks.com, fluffy@cisco.com
Message-ID: <20041108124517.K54037@oak.packetdesign.com>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset="US-ASCII"
X-Spam-Score: 0.0 (/)
X-Scan-Signature: d0bdc596f8dd1c226c458f0b4df27a88
Cc: AVT WG <avt@ietf.org>, ietf-behave@list.sipfoundry.org
Subject: [AVT] RTP in draft-ietf-behave-nat-00
X-BeenThere: avt@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Audio/Video Transport Working Group <avt.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/avt>, <mailto:avt-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:avt@ietf.org>
List-Help: <mailto:avt-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/avt>, <mailto:avt-request@ietf.org?subject=subscribe>
Sender: avt-bounces@ietf.org
Errors-To: avt-bounces@ietf.org
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 0fa76816851382eb71b0a882ccdc29ac
draft-ietf-behave-nat-00 contains the following statement: There is some very unfortunate wording in RFC 3550 section 11, which can cause some problematic behavior in RTP clients. The wording could be interpreted as saying that if a client receives an odd port for sending RTP, it SHOULD change it to the next lower even number. This would obviously result in the loss of RTP/UDP. The actual text in RFC3550 is: For applications that take a single port number as a parameter and derive the RTP and RTCP port pair from that number, if an odd number is supplied then the application SHOULD replace that number with the next lower (even) number to use as the base of the port pair. For applications in which the RTP and RTCP destination port numbers are specified via explicit, separate parameters (using a signaling protocol or other means), the application MAY disregard the restrictions that the port numbers be even/odd and consecutive although the use of an even/odd port pair is still encouraged. The key here is that when a session description specifies only one port number to convey the RTP+RTCP port pair, then the recipient of that description needs to know how to determine the second port number from the first. It is critical that the sender and receiver (or receivers plural for multicast) do this the same way. Since the convention is to use an even port for RTP and an odd port for RTCP, the spec says that when the given port number is odd, the RTP SHOULD be the next lower (even) number, and the odd number SHOULD be the RTCP port. However, because of requirements imposed by NATs and other considerations, the second sentence in the above quote from RFC3550 was added. All the applications need to do is explicitly state the two port numbers, and then there is no restriction on the even/odd condition of the RTP port number. If your concern is that applications that do not implement RTCP will only have one number to specify, then I have four responses: - If the application uses SDP to specify the session and gives only one address, this still implies that RTCP will be sent, so the RTCP port needs to be inferred from the single port that is given. In this case, I claim it makes sense for the stated rules to apply. - If you need to be able to use an odd RTP port number in sessions specified with SDP, then specify another port for RTCP but don't use it. I believe it would be acceptable for that other port number to be zero. - If the application will specify its session some other way, and intends to specify only a single port with the implicatin that RTCP will not be sent, then the specification of that session description method can specify that the SHOULD above be overridden. - Designing out RTCP is bad. draft-ietf-behave-nat-00 also contains the following statement: NATs that use an "IP address pooling" behavior of "arbitrary" can cause issues for applications that use multiple ports from the same endpoint but have no way to negotiate IP addresses individually (e.g., RTP and RTCP ports). RFC 3605, "Real Time Control Protocol (RTCP) attribute in Session Description Protocol (SDP)" specifies a means to negotiate an alternate IP address for RTCP as well as a port number. -- Steve _______________________________________________ Audio/Video Transport Working Group avt@ietf.org https://www1.ietf.org/mailman/listinfo/avt
- [AVT] RTP in draft-ietf-behave-nat-00 Stephen Casner
- [AVT] RE: [Ietf-behave] RTP in draft-ietf-behave-… Dan Wing
- [AVT] RE: [Ietf-behave] RTP in draft-ietf-behave-… Stephen Casner
- [AVT] RE: [Ietf-behave] RTP in draft-ietf-behave-… Francois Audet
- [AVT] RE: [Ietf-behave] RTP in draft-ietf-behave-… Francois Audet
- Re: [AVT] RE: [Ietf-behave] RTP in draft-ietf-beh… Randell Jesup
- RE: [AVT] RE: [Ietf-behave] RTP in draft-ietf-beh… Dan Wing
- RE: [AVT] RE: [Ietf-behave] RTP in draft-ietf-beh… Francois Audet