Re: [AVTCORE] I-D Action: draft-ietf-avtcore-multi-party-rtt-mix-02.txt

Gunnar Hellström <> Fri, 22 May 2020 10:25 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 6D97C3A0A9E for <>; Fri, 22 May 2020 03:25:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 7MbDi7ZTcILO for <>; Fri, 22 May 2020 03:25:06 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 5D3A83A0A9A for <>; Fri, 22 May 2020 03:25:05 -0700 (PDT)
Received: from [] ( []) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) (Authenticated sender: by (Postfix) with ESMTPSA id 12F7E20154; Fri, 22 May 2020 12:25:04 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=dkim; t=1590143104; bh=4NAlK6D6LuTUDQgV/H7JaLtJAtNd3OlVjBOsKiUL8+k=; h=Subject:To:References:From:Date:In-Reply-To:From; b=N8oSuEqk3Xz0ReyUC0oOxchDO7nHcQyrKLNl3rSgcG9aWTjoDjo4h4GoZpb/lwOrY duXYQMsCYe0D5biKBsCuojxT8O3J6Jl0QG1BiElQc69XdKqlVopZBYmRdWHmLVpCHE iMuppO0TFT9qMajNJVu/w6dkD2idOwRj/VfyC5uA=
To: James Hamlin <>, "" <>
References: <>
From: =?UTF-8?Q?Gunnar_Hellstr=c3=b6m?= <>
Message-ID: <>
Date: Fri, 22 May 2020 12:25:04 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0
MIME-Version: 1.0
In-Reply-To: <>
Content-Type: multipart/alternative; boundary="------------D47C36FB81845C9403793F2C"
Content-Language: sv
Archived-At: <>
Subject: Re: [AVTCORE] I-D Action: draft-ietf-avtcore-multi-party-rtt-mix-02.txt
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Audio/Video Transport Core Maintenance <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 22 May 2020 10:25:10 -0000

Hi James,

Den 2020-05-22 kl. 08:02, skrev James Hamlin:
> Hi Gunnar
> A few thoughts:-
> The draft defines the timestamp offset as indicating the time data was 
> received at the mixer, but surely it should aim to reflect the time 
> from the source so that it represents the time the text was typed? In 
> the rare event of long network delays, the timestamp from the sources 
> would be the only way at a receiver could detect the order in which 
> parts of the conversation were typed.
Yes, I hesitated between timestamping for origination at the source and 
timestamping for reception. You may have a point in that it would be 
better to have it be at the origin.
> The only way to allow all the sources’ timestamps to be signaled 
> separately from that of the timestamp of the RTP packet would be to 
> allow an extra header, for the time-offset of the final CSRC’s primary 
> text, which would leave the final header block redundant and 
> essentially providing a payload type for zero bytes at the packet end.
We can define the format in the way we want. I just started out as close 
as text/red as possible. The last header may be specified to contain a 
timestamp offset, and maybe a length to ease the work of the decoders.
> I realize that time offsets are limited to ~16secs, but this would 
> allow for some network delay plus a few redundant transmission times. 
> So it would be possible for the mixer to put in offsets for all 
> sources and generations, to represent the original time typed, 
> relative to the current packet timestamp.
Yes, hopefully. We also have the conditions when we are at risk of 
overrunning the reception capacity of a receiver, when we need to delay 
text. If we are sending to a TTY gateway (that is barely realistic) we 
would easily run into long delays over the 16 seconds. But I also 
thought that the 16 second limit should do.
> If the mixer is sending from its own source – as it will for the 
> initial BOM character I imagine − it has the choice of setting cc to 
> zero or adding itself as a contributing source. If there other sources 
> active then it must do the latter. I wonder whether we should be more 
> precise about when to do each? The current text says that only mixers 
> set cc > 0; should we also say that a mixer should never set cc==0, 
> meaning that it would always add it’s CSRC to the list when sending 
> from itself? I suppose there’s also the possibility that a sender 
> might add a new source mid session (perhaps adding a second keyboard). 
> Perhaps with text/rex it would be better to always add a source to the 
> list.
Yes, good point. I agree that the mixer should always use the CSRC list 
even if itself is the only transmitter at that moment.

And, yes, new sources may come along and be added to the conference. I 
the SIP conference model of RFC 4535 is properly used the mixer shall 
also announce new sources by a SIP NOTIFY. But that is not really 
required for the mixing to work. Each sent packet may have a new 
composition of the sources who have text to send for the moment.

> The draft says that a BOM char must be sent to new participants. I 
> don’t see the mention of BOM in RFC4103 but it does talk of empty 
> packets. Sending a BOM at the start, implies that the BOM will need to 
> be resent in redundant generations. Would an empty packet with cc=0 
> and only a primary data header, be a better initial opening packet and 
> keep alive during inactivity?
T.140 and Unicode in general requires BOM to be the first to be 
transmitted. It is good for opening transmission through routers etc. 
Nowadays ICE is probably used in most cases also for the same purpose. 
Then keep-alives by sending BOM is really not a good way. If it is lost, 
you get a false text loss indication. RFC 6263 instead says that you 
should send keep-alive by multiplexing RTP and RTCP on the same port.

Yes, these initial BOMs shall be sent with the same transmission 
mechanism as any other text, with redundancy and a good transmission 

Thanks, I make notes of your points as issues for coming versions.



> Best regards
> James
> James Hamlin
> Contractor
> Purple, a Division of ZP Better Together, LLC
> The information contained in this e-mail message is intended only for 
> the personal and confidential use of the recipient(s) named above. If 
> you have received this communication in error, please notify us 
> immediately by e-mail, and delete the original message.
> _______________________________________________
> Audio/Video Transport Core Maintenance

Gunnar Hellström