Re: [AVT] T.38 over RTP: RTP Sequence Number

Colin Perkins <csp@csperkins.org> Tue, 19 July 2005 15:01 UTC

Received: from localhost.localdomain ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1DutbQ-00051s-Kh; Tue, 19 Jul 2005 11:01:48 -0400
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1DutbM-00051l-Et for avt@megatron.ietf.org; Tue, 19 Jul 2005 11:01:46 -0400
Received: from ietf-mx.ietf.org (ietf-mx [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id LAA23473 for <avt@ietf.org>; Tue, 19 Jul 2005 11:01:42 -0400 (EDT)
Received: from mr1.dcs.gla.ac.uk ([130.209.249.184]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Duu4x-0003I7-Lt for avt@ietf.org; Tue, 19 Jul 2005 11:32:23 -0400
Received: from alor.dcs.gla.ac.uk ([130.209.247.84]:64631) by mr1.dcs.gla.ac.uk with esmtpsa (TLSv1:RC4-SHA:128) (Exim 4.42) id 1Dutb9-0003Pe-CD; Tue, 19 Jul 2005 16:01:31 +0100
In-Reply-To: <79B4F738DDD4EF4F85A4641A0FE5EFD60126EB68@aclmsg.corp.audiocodes.com>
References: <79B4F738DDD4EF4F85A4641A0FE5EFD60126EB68@aclmsg.corp.audiocodes.com>
Mime-Version: 1.0 (Apple Message framework v733)
Content-Type: text/plain; charset="US-ASCII"; delsp="yes"; format="flowed"
Message-Id: <F6123E50-FB90-4937-8EAF-45A0DB7AAA44@csperkins.org>
Content-Transfer-Encoding: 7bit
From: Colin Perkins <csp@csperkins.org>
Subject: Re: [AVT] T.38 over RTP: RTP Sequence Number
Date: Tue, 19 Jul 2005 16:01:27 +0100
To: Vladimir Ulybin <Vladimir@audiocodes.com>
X-Mailer: Apple Mail (2.733)
X-Spam-Score: 0.0 (/)
X-Scan-Signature: b22590c27682ace61775ee7b453b40d3
Content-Transfer-Encoding: 7bit
Cc: "Paul E. Jones" <paulej@packetizer.com>, avt@ietf.org
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

Vladimir,

Use of timestamps to reconstruct media timing is an essential feature  
of RTP. We will not standardise an RTP payload format which does not  
use them, since that would be incompatible with the rest of RTP, and  
would break the playout model used by RTP applications.  RTP is a  
general purpose transport protocol for real-time traffic -- it is not  
appropriate to optimise it for this niche application, at the expense  
incompatibility with other use cases.

If you do not wish to use timestamps in your application, I suggest  
you use T.38 over UDPTL instead of over RTP. When implementing T.38  
over RTP, using timestamps is mandatory (as with all other RTP  
payload formats).

Colin



On 19 Jul 2005, at 15:45, Vladimir Ulybin wrote:
> Colin,
>
> I think that the use of timestamps together with sequence numbers for
> building T.38 packet recovery buffer is not a good way. For T.38
> INDICATOR packets it is acceptable but for DATA packets this way may
> cause a lot of problems for packet recovery during data transfer.
>
> It is much easy and reliable to use RTP sequence number as the only  
> base
> for ordering T.38 packets arrived over RTP. In this case,  
> timestamps of
> redundant payloads may be ignored without any problems.
>
> Let consider an option to update the "draft-jones-avt-audio- 
> t38-05.txt"
> or write a new draft for T.38 over RTP.
>
> I think the problems opened in our discussions
> - repetition of T.38 packets and
> - excessive complexity of T.38 over RTP caused by timestamps
> (non-required by T.38)
> are general for different vendors.
>
> Regards,
> Vladimir Ulybin
>
>
> -----Original Message-----
> From: Colin Perkins [mailto:csp@csperkins.org]
> Sent: Tuesday, July 19, 2005 2:07 PM
> To: Vladimir Ulybin
> Cc: Paul E. Jones; avt@ietf.org
> Subject: Re: [AVT] T.38 over RTP: RTP Sequence Number
>
> On 19 Jul 2005, at 07:40, Vladimir Ulybin wrote:
>
>> 1. Zero is a simplest solution. The RFC 3550 allow the same time  
>> stamp
>> for several consecutive packets. So, when these packets will be
>> transmitted as redundant one relative to the other, the time
>> offsets per
>> RFC 2198 will be zero. It means that receiving gateway should handle
>> correctly zero time offsets in RFC 2198 headers.
>>
>
> No, since it will treat the data as being a redundant copy of the
> packet in which it is sent. If you use an offset of zero, there's no
> way to correctly place the data at the right time instant in the
> playout buffer.
>
>
>> 2. The computation of redundant packet time offset relative to  
>> primary
>> packet can be applied for synchronous operation like audio or
>> t4-non-ECM-data having a fixed time interval between packets. But,  
>> for
>> asynchronous packet stream, which is typical for T.30 control and ECM
>> fax, such approach cannot be used.
>>
>
> Correct - this is why RFC 2198 has an explicit timestamp for the
> redundancy offset.
>
>
>> Why I opened this issue?
>>
>> Assume a T.38 module of DSP/gateway which delivers the T.38 UDPTL
>> packets ready for transmission to IP. To enable new feature of T.38
>> over
>> RTP, it is easy to convert T.38 UDPTL into RFC 2198 at output of
>> DSP/gateway. The obstacle is in time stamp offsets of redundant
>> packets.
>> We all (fax engineers) know that these offsets are not required at
>> T.38
>> packet receivers. But accurate transmission of those per RFC 2198
>> requires deep re-writing of working and verified module(s) plus
>> additional allocation of RedundancyLevel*NofChannels timestamps.
>>
>
> Correct - this is required for robust operation over an unreliable
> packet network that may disrupt media timing.
>
> There are two cases:
>
> 1) There is a constant mapping from sequence number to timestamp. In
> this case, you can trivially calculate the timestamp and need no
> extra storage. The media timing can be reconstructed using either the
> sequence number or timestamp, and transporting both is essentially a
> waste of bandwidth for this application. In this case, you treat the
> extra bits on the wire as an "RTP tax" needed for interoperability,
> but don't need to store the extra data in the gateway.
>
> 2) There is not a constant mapping from sequence number to timestamp.
> This case requires you to store the extra timestamps for inclusion in
> RFC 2198 redundancy headers, however that extra information is
> required by the receiver to manage a playout buffer, since a playout
> buffer managed by sequence number only is not sufficient to
> reconstruct media timing.
>
> Colin
>
> _______________________________________________
> Audio/Video Transport Working Group
> avt@ietf.org
> https://www1.ietf.org/mailman/listinfo/avt
>


_______________________________________________
Audio/Video Transport Working Group
avt@ietf.org
https://www1.ietf.org/mailman/listinfo/avt