RE: [avt] Comments/questions on draft-ietf-avt-rfc2793bis-03/04
"Gunnar Hellstrom" <gunnar.hellstrom@omnitor.se> Mon, 10 May 2004 23:09 UTC
Received: from optimus.ietf.org (iesg.org [132.151.1.19]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id TAA15387 for <avt-archive@odin.ietf.org>; Mon, 10 May 2004 19:09:07 -0400 (EDT)
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1BNJmp-000375-1Q for avt-archive@odin.ietf.org; Mon, 10 May 2004 19:02:15 -0400
Received: (from exim@localhost) by www1.ietf.org (8.12.8/8.12.8/Submit) id i4AN2Frm011958 for avt-archive@odin.ietf.org; Mon, 10 May 2004 19:02:15 -0400
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1BNJgp-0001s2-LL; Mon, 10 May 2004 18:56:03 -0400
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1BNJVh-0007c1-Vq for avt@optimus.ietf.org; Mon, 10 May 2004 18:44:34 -0400
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id SAA13655 for <avt@ietf.org>; Mon, 10 May 2004 18:44:28 -0400 (EDT)
Received: from ietf-mx.ietf.org ([132.151.6.1] helo=ietf-mx) by ietf-mx with esmtp (Exim 4.32) id 1BNJVe-0001k5-P3 for avt@ietf.org; Mon, 10 May 2004 18:44:30 -0400
Received: from exim by ietf-mx with spam-scanned (Exim 4.12) id 1BNJUc-0001OA-00 for avt@ietf.org; Mon, 10 May 2004 18:43:28 -0400
Received: from av5-2-sn4.m-sp.skanova.net ([81.228.10.111]) by ietf-mx with esmtp (Exim 4.12) id 1BNJU1-0000zn-00 for avt@ietf.org; Mon, 10 May 2004 18:42:49 -0400
Received: by av5-2-sn4.m-sp.skanova.net (Postfix, from userid 502) id A6F5D37E4A; Tue, 11 May 2004 00:42:19 +0200 (CEST)
Received: from smtp2-1-sn4.m-sp.skanova.net (smtp2-1-sn4.m-sp.skanova.net [81.228.10.183]) by av5-2-sn4.m-sp.skanova.net (Postfix) with ESMTP id 9656837E43; Tue, 11 May 2004 00:42:19 +0200 (CEST)
Received: from vit (h53n2fls31o265.telia.com [217.208.189.53]) by smtp2-1-sn4.m-sp.skanova.net (Postfix) with SMTP id E98AF37E5F; Tue, 11 May 2004 00:42:18 +0200 (CEST)
From: Gunnar Hellstrom <gunnar.hellstrom@omnitor.se>
To: "Mundra, Satish" <smundra@telogy.com>, "Paul E. Jones" <paulej@packetizer.com>, avt IETF <avt@ietf.org>
Subject: RE: [avt] Comments/questions on draft-ietf-avt-rfc2793bis-03/04
Date: Tue, 11 May 2004 00:42:22 +0200
Message-ID: <BHEHLFPKIPMLPFNFAHJKMECBEHAA.gunnar.hellstrom@omnitor.se>
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
X-Priority: 3 (Normal)
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0)
Importance: Normal
In-Reply-To: <09DD40ABD88ACF4CB0D3CD84BB95296001B45D@tnint11.telogy.design.ti.com>
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1409
Content-Transfer-Encoding: quoted-printable
X-Spam-Checker-Version: SpamAssassin 2.60 (1.212-2003-09-23-exp) on ietf-mx.ietf.org
X-Spam-Status: No, hits=0.1 required=5.0 tests=AWL autolearn=no version=2.60
Content-Transfer-Encoding: quoted-printable
Sender: avt-admin@ietf.org
Errors-To: avt-admin@ietf.org
X-BeenThere: avt@ietf.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/avt>, <mailto:avt-request@ietf.org?subject=unsubscribe>
List-Id: Audio/Video Transport Working Group <avt.ietf.org>
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>
Content-Transfer-Encoding: quoted-printable
Satish, We crossposted. ------------------------------------------- Gunnar Hellström Omnitor AB Renathvägen 2 SE 121 37 Johanneshov SWEDEN +46 8 556 002 03 Mob: +46 708 204 288 www.omnitor.se Gunnar.Hellstrom@Omnitor.se -------------------------------------------- > -----Original Message----- > From: Mundra, Satish [mailto:smundra@telogy.com] > Sent: Tuesday, May 11, 2004 12:27 AM > To: 'Gunnar Hellstrom'; Paul E. Jones; avt IETF > Subject: RE: [avt] Comments/questions on draft-ietf-avt-rfc2793bis-03/04 > > > Gunnar/Paul, > > See one more comment inline... > I think that comments/question can be revisited after basic issue with > the use of Mbit and t140block counter is concluded. Many other > questions may > become > irrelevant then. > > Regards, > > Satish Mundra > > > > -----Original Message----- > > From: Gunnar Hellstrom [mailto:gunnar.hellstrom@omnitor.se] > > Sent: Friday, May 07, 2004 1:19 AM > > To: Paul E. Jones; Mundra, Satish; avt IETF > > Subject: RE: [avt] Comments/questions on > > draft-ietf-avt-rfc2793bis-03/04 > > > > > > Satish, > > Further answers inline, > > > > Gunnar > > > > ------------------------------------------- > > Gunnar Hellström > > Omnitor AB > > Renathvägen 2 > > SE 121 37 Johanneshov > > SWEDEN > > +46 8 556 002 03 > > Mob: +46 708 204 288 > > www.omnitor.se > > Gunnar.Hellstrom@Omnitor.se > > -------------------------------------------- > > > > > > > -----Original Message----- > > > From: Paul E. Jones [mailto:paulej@packetizer.com] > > > Sent: Thursday, May 06, 2004 11:10 PM > > > To: Mundra, Satish; 'Gunnar Hellstrom'; avt IETF > > > Subject: Re: [avt] Comments/questions on > > > draft-ietf-avt-rfc2793bis-03/04 > > > > > > > > > Satish, > > > > > > I'll respond to some questions, but leave most to Gunnar: > > > > > > > > > 1. In section 3.2 : "The T140block counter MUST be > > > > > initialized to zero > > > > > > the first time > > > > > > that a packet containing...." > > > > > > > > > > > > Initializing this counter to zero will make it weaker against > > > > > > encryption attacks when RTP payload is encrypted. > > > > > This is still in 3.2 > > > > > > > > > > There are also other fields that are easy to derive. This is no > > > > > worse. We want to check missing text from first character if it > > > > > arrives. This was one feasible way to achieve that goal. > > > > > > > > > > > > > I agree that there may be other fields which are easy to > > > derive, but what > > > if > > > > > > > > implementations or standards are revised in future. Those may > > > not apply to > > > > payload where > > > > this sequence # is present. More randomization is always > > preferable. > > > > > > > > In any case, the text/t140 will have a random sequence number on > > > > very > > > first > > > > packet so the > > > > initialization to zero for audio/t140 alone, has not resolved the > > > > same > > > issue > > > > with text/t140. > > > > > > You have a good point about not being able to detect the loss of an > > > initial character in text/t140. I believe that is right. > > > > > > I'm less concerned with being able to use information about part of > > > the contents of a particular packet. It might make it > > vulnerable to > > > attack, but it also shows a weakness in the encryption that > > is used. > > > With many codecs, > > > some of the bits within the payload have a value that is > > known or can be > > > guessed. I suppose the T140block counter offers the largest > > > number of such > > > bits. > > > > > > I don't have an incredibly strong feeling one way or the > > other. But, > > > I would like suggestions on how to determine the loss of > > the initial > > > character if we change the value (I know you like the M > > bit). Perhaps > > > it is simply not that important to detect loss of the initial > > > character. > > T.140 requests that the first character sent in a session is > > a UTF-8 synchronisation character. > > "7.1 Code signature and synchronization > > The ZERO WIDTH NO-BREAK SPACE character (FEFF) shall be > > inserted in the beginning of the session. " So, a receiving > > T.140 could check the first character. If it is not the sync > > character, one or more characters can be assumed to be lost, > > and it is suitable to mark the loss. > > > > > > > > > > > 3. Section 3.9 states: "- Each redundant data block MUST > > > > > contain the > > > > > > same data as a T140block previously transmitted as primary > > > > > data, and > > > > > > be identified with a timestamp offset > > > > > > equating to the original timestamp for that T140block." > > > > > > > > > > > > This conflicts with Section 3.8 sates "Redundant data older > > > > > > than 16383 divided by the clock frequency MUST NOT be > > > > > > transmitted." > > > > > This is now in sec 4.2 and 4.1 > > > > > > > > > > It means "what you put in a redundant data block MUST have been > > > > > transmitted before as primary and the timestamp of the primary > > > > > MUST be possible to calculate from the offset in the redundant > > > > > one." I think it is clear and suggest no change. > > > > > > > > > > > > > The primary that was sent can be lost, so a receiver can > > not rely of > > > > receiving primary and needs to be prepared to deduce the sequence > > > > numbers from timestamp offsets alone in > > > > particular packet, so why a MUST ? > > > > > > Which MUST are you concerned about? The requirement that the > > > redundancy packet MUST carry the previous primary data? It is not > > > possible to determine the sequence number based only on the > > timestamps > > > for text, as text is not constantly flowing. But, I may have > > > misunderstood your point. > > > > > The MUST makes it still possible to deduct the timestamp of > > the text. Even if it can not be used for detection of loss, > > some designer may want to use the timestamp e.g. for planning > > of playout, conversion to the timed-text format or so. > > > > > > If the redundant data is older that (2.048 Secs fro 8Khz clock OR > > > > 20.48 > > > sec > > > > for 1Khz), one > > > > can not send that data as redundancy payload as the timestamp > > > offset will > > > be > > > > more that > > > > 13bits as noted in ( sec 4.2 in -04). In that case, one can not > > > > satisfy "MUST contain the same data previously transmitted as > > > > primary" which is > > > important for making > > > > accurate loss > > > > detection for text/t140. > > But text/t140 has 1000 Hz clock just with the reason that it > > shall allow 16 seconds span for the redundancy. > > > > > > > > > > Agreed. The text recommends transmitting at 300ms. With > > two levels > > > of redundancy, we're OK. If we have more redundancy, the interval > > > must be faster (but more redundancy is really not > > necessary). Also, > > > audio/t140 re-transmission is likely to be much faster than > > text/t140, > > > especially when voice is detected and also needs to be transmitted. > > > > > > > Any zero-length t140 blocks transmitted as primary for > > > text/t140 MUST be > > > > sent again as > > > > redundant block[4a below], what will one do if after > > transmitting a > > > > zero-length block, the next data is not available for > > more than 21 > > > > seconds or so. > > > Should one keep > > > > sending > > > > zero-length blocks so as to ensure that sequence number > > > deduction would be > > > > feasible ? > > No, you "pump out" the last text as redundant text at 300 ms > > intervals. If you have the recommended two levels of > > redundancy, the last characters before a pause will sent as > > primary, then as secondary after 300 ms and then as tertiary > > after 600 ms. Then it is silent and nothing is in > > transmission buffers. When new text is coming from the user > > to be sent, it will be sent as primary text and no secondary > > exists to be transmitted. > > > > This mechanism is described in the section about silence. > > > > > > > > We must make sure there are no gaps, so even after 21 seconds, the > > > next text/t140 packet must contain any previous empty > > "primary" data > > > T140blocks. > > > > > > > In either case, there is a issue when the packet with > > > "zero-length" block > > > as > > > > primary is > > > > lost for text/t140. If you don't send it as redundant > > data or switch > > > > to text/t140. A receiver will see a sequence # gap and > > will indicate > > > > loss of > > > text-data > > > > when there was > > > > none. > > > > > > You're saying that if we send this packet: > > > { R1(text), R2(empty), P1(empty) } > > > > > > And then there is nothing to transmit for a while and the > > next packet > > > looks like this: > > > { P1'(non-empty } > > > > > > Then the receiver will wonder what happend to the sequence number > > > associated with P1(empty)? I think you might be correct. > > This might > > > cause incorrect > > > interpretations of lost characters for text/t140. Audio/t140 > > > does not have > > > the same problem, as it has the T140block counter inside > > the payload. > > > Gunnar? > > > > Yes, there is a spotted problem, but the description above is > > not correct. > > > > 1 send { R2(text x), R1(text y), P1(text z) } and receive it > > no more input causes after 300 ms > > 2 send { R2(text y), R1(text z), P1(empty) } assume lost > > after 300 ms > > 3 send { R2(text z), R1(empty), P1(empty) } assume lost > > > > after 21 seconds the user types text q. > > 4 send { P1(text q) } with text/red payload type receive it - > > Because the old R1 and R1 are so old that thy should not be sent. > > > > This reveals a sequence number loss 2 and 3, and no > > information available to repair the loss with. So, according > > to current logic in rfc2793bis, the loss should be marked. > > And it was only empty fields that we lost, so it will be a false mark. > > > > It does not help to send the new packet with text/t140, the > > gap will be noticed and marked anyway. > > > > It helps a little if we allow data older than 16383 ticks to > > be tranmitted. Then, the 4b send { R2(empty), R1(empty), > > P1(text q) } received would reveal that nothing was lost, > > > > But losing also 4b would create a false loss detected when > > transmission 5 is received. > > > > This is unfortunate but not unacceptable. We have not > > promised total reliability on the indicator for missing data. > > > > Do you have a proposal for how to reduce the risk of > > misdetection of loss? > > > > > > > Here's one possibility: > > 1. The section "5.4" (version-04) defines the "Silent Periods" and > "zero-length" blocks. > > 2. Allow use of "zero-length" t140blocks during "Silent Periods" for both > text/t140 and audio/t140 (i.e. with or without redundancy use). > > 3. Only one "zero-length" t140block MUST be transmitted every "Silence > Period". > > 4. Use M-bit to indicate start of every text-spurt. > > [ Note that for audio/t140 this means that switch to voice > payload can only > occur after a terminating zero-length block indicating silence period has > been transmitted. There's still > an issue with detecting loss accurately under some specific bursty loss > scenarios and may need some solution if it's important. > Regarding M-bit usage: I think as far as audio/t140 is > concerned, the use is > as specified in profile. For text media at present there is no profile > specifying the M-bit behavior. Behavior analogous to voice seems suitable > for text too and can be specified by 2793bis.] > > If zero-length block is lost then the receiver will have to wait for next > packets arrival > to determine/indicate if there was any actual data-loss, this behavior is > same as before. > The above scheme makes t140block counter redundant as the RTP seq# and > T140block counter would always be in sync during a text-spurt. > The marker bit's presence/absence/loss would enable one to distinguish > between loss of one or more normal T140block or zero-length > block (with or > without RED use) and prevent false loss detection. This will allow use of > same payload format for both audio and text t140 and > I think same rules for redundancy use simplifying the implementation. > > > > > > > > > > > The M-bit can not be relied upon, because the M-bit is > > transmitted > > > > > once only. If that packet is lost, you lost the indicator. > > > > > > > > > > > > > Yes, but the fact that one received a packet with M-bit not > > > set when one > > > was > > > > expecting one, at the beginning of text-spurt, is an > > > indication of loss. > > > > There by serving the purpose that "t140 block counter" is > > > serving, namely > > > > indicate "loss of one or more characters". I still do not see > > > benefits of > > > > introducing this counter when it appears that the same can be > > > accomplished > > > > by using M-bit. > > > > > > The M-bit cannot stand in for the T140block counter. Even with > > > significant congestion and the loss of 10 packets in a row, the > > > T140block counter can indicate loss, whereas the M-bit > > would have been > > > lost 7 packets earlier. > > > > > > I honestly think the use of the M-bit is questionable for > > text. I can > > > see some utility in voice packets *if* it were reliably delivered. > > > Given that > > > it can be lost, the receiver has to be prepared to function > > > properly without > > > it... so why bother? Another argument we could make is that > > > since there is > > > no silence suppression, we should set it to zero (RFC 3551). > > > Perhaps that's > > > a stretch, but I largely think it's about the same... I just > > > cannot see any > > > utility of the market bit in the text applications. > > > > > > Paul > > > > > > > > > > > Gunnar > > > > > > _______________________________________________ Audio/Video Transport Working Group avt@ietf.org https://www1.ietf.org/mailman/listinfo/avt
- RE: [avt] Comments/questions on draft-ietf-avt-rf… Mundra, Satish
- Re: [avt] Comments/questions on draft-ietf-avt-rf… Paul E. Jones
- RE: [avt] Comments/questions on draft-ietf-avt-rf… Gunnar Hellstrom
- RE: [avt] Comments/questions on draft-ietf-avt-rf… Gunnar Hellstrom
- RE: [avt] Comments/questions on draft-ietf-avt-rf… Mundra, Satish
- RE: [avt] Comments/questions on draft-ietf-avt-rf… Gunnar Hellstrom