Re: [AVTCORE] Improved RTP-mixer performance for RFC 2198 and RFC 4103 redundancy coding

Gunnar Hellström <> Mon, 09 March 2020 20:18 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 78F433A16EA for <>; Mon, 9 Mar 2020 13:18:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.698
X-Spam-Status: No, score=-1.698 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, HTML_MESSAGE=0.001, MSGID_FROM_MTA_HEADER=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: (amavisd-new); dkim=fail (1024-bit key) reason="fail (body has been altered)"
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id m0BYPIQ6b3Ca for <>; Mon, 9 Mar 2020 13:18:57 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 1B51E3A16E5 for <>; Mon, 9 Mar 2020 13:18:56 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901;; cv=none; b=I19m8rO+zwmTbGRmC6j9spQxoIQHFNcVCXvu+DVBqu6y32/A9bI1YX72MOs/sRKMi273DTx6yD5TFikVVVxcwuOeZv5G5qafUQS1eDKvjxoR2i1EO6HUlm9lQNiWnRk3PWG1yoV1D0Ho3f/scvLPZFB/6wxJwxyCUnsIB71A8c2ffMe5gp22gERrgsYTp5sFjqOOJvqfe6AGzFhus7UlPOw7SieHwh6kFcQuKH/QRPFLQqWOpWZh2TVGGtkqAJi1OOmHPhrpyQrT/I4lYUCLjRjavk5yzPoby9gWGZ8D3cOldiqO4e3P12iQu19Mm1cX2ERzg1Ai/Lquo5e1f6jEfw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed;; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;bh=B4VmKHMhAkHxZjABKX53vmiAtS4tlDUxDmr6gRYPmio=; b=mYSRxmig9dqBskKDAFczwFlaU1pgrTAzY7PA3+9BYGpwXOU1qaOThuDwGv/moEyt8au6AzG/KasQlsbRjVIauycT4Ota7O9fEiWS3yOkWxkTVfWgfIU4hjum5LaFupFx9lEogY3TXEru+eNL1IqVI+jQOEe9R7Rwaf3JU8MS7zhHE5uHBoqZgmZgMoFfaw6hRmgcVeopk4KeS3bNHdlY2GueaHC3FjzXh23SKDr3MIPIDGEul7WFZIF5t4en5B7TT8xk7cI5f+1Qb4Nt9mYC9qgRleSXHGeUkpvJrlbwPnvXm3fF5TAZmAtMSdaDwvKhfzdw912No0Prq6W6jwfSmQ==
ARC-Authentication-Results: i=1; 1; spf=pass; dmarc=pass action=none; dkim=pass; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=selector2-omnitorab-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;bh=B4VmKHMhAkHxZjABKX53vmiAtS4tlDUxDmr6gRYPmio=; b=VKN+Z6ONxOaIdTeuM8T2hYIocWlRIvlE+f54g527BuN/XaPi/hsdw/VwuFNmSzVXXZcxsr+ezdlIQTLPvnetU6aVlLdA4VMj9vkswZNTjlgSH4VLG6qKv6+QKZ8pPd5gCcsReNRZr9qPiMCxGJxI3cQ64ZCbA8zcNs+pwabQmzE=
Authentication-Results: spf=none (sender IP is );
Received: from AM0P193MB0721.EURP193.PROD.OUTLOOK.COM ( by AM0P193MB0289.EURP193.PROD.OUTLOOK.COM ( with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2793.17; Mon, 9 Mar 2020 20:18:54 +0000
Received: from AM0P193MB0721.EURP193.PROD.OUTLOOK.COM ([fe80::d850:e7bb:c87c:3a3e]) by AM0P193MB0721.EURP193.PROD.OUTLOOK.COM ([fe80::d850:e7bb:c87c:3a3e%7]) with mapi id 15.20.2793.013; Mon, 9 Mar 2020 20:18:54 +0000
To: James Hamlin <>, "" <>
References: <>
From: Gunnar Hellström <>
Message-ID: <>
Date: Mon, 09 Mar 2020 21:18:51 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0
In-Reply-To: <>
Content-Type: multipart/alternative; boundary="------------CDA4C92F9EDF34EE269C2647"
Content-Language: sv
X-ClientProxiedBy: (2603:10a6:208:154::17) To AM0P193MB0721.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:163::14)
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
Received: from [] ( by (2603:10a6:208:154::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2793.15 via Frontend Transport; Mon, 9 Mar 2020 20:18:53 +0000
X-Originating-IP: []
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: e0df4ed8-1975-4789-193e-08d7c46716c7
X-MS-TrafficTypeDiagnostic: AM0P193MB0289:
X-Microsoft-Antispam-PRVS: <AM0P193MB0289DE21E4342E740F59B1EEFBFE0@AM0P193MB0289.EURP193.PROD.OUTLOOK.COM>
X-MS-Oob-TLC-OOBClassifiers: OLM:10000;
X-Forefront-PRVS: 0337AFFE9A
X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(376002)(366004)(39830400003)(396003)(346002)(136003)(199004)(189003)(2906002)(8936002)(86362001)(5660300002)(31696002)(8676002)(2616005)(81156014)(186003)(66946007)(81166006)(66556008)(66476007)(956004)(6486002)(966005)(26005)(16526019)(508600001)(110136005)(31686004)(16576012)(316002)(66574012)(52116002)(19627405001)(36756003); DIR:OUT; SFP:1102; SCL:1; SRVR:AM0P193MB0289; H:AM0P193MB0721.EURP193.PROD.OUTLOOK.COM; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1;
Received-SPF: None ( does not designate permitted sender hosts)
X-MS-Exchange-SenderADCheck: 1
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: TBdPkmr/fqxQaznbcx2Wyxd3HfCoOaG7JLkq2kPFahrDfrftvI2ZGCOvhvVIsi4ndq0sjPrjujAFDIoTPeB7dVbaj/xTuVGU4qbzNy2Mhh1zxNGH+n+mrF/hvrkEHG3CSjlDFVj3y+7B6fniXiD4iTguEzWL3UILi6PoNvZLE/aSf1X7bKnNYUXwa2cXhsuT2wsGtelMG0o5BdyoSKislySt8ILQXbVJZzUqM2rGiPjmGBEJ49dSysU89pAdzyJaVJhh731+NcQoNDRvvKsa6WJ5HCFd3YaMZFO4QoaByuaT2AM6DEgZxow8P4312b1mqct5g8LCgusW5WYD7Tk+Zi/7x9gF6MXY3Ez7WvftPPoni8XnpYtMbFvZ0JqrnENBihNrwCYoet+Tri+GZTunLjkIuYtXLY0NuWtEBoReWEuvKNDmy2wZ3qCH7kR5ho6vHLG0RJFaGPomCACtUAFIbdziUqT3dNdMVP9ZpyxzbPo/EpYNLsZw/wzOsD31EfNnNoD2E3sjV1SJWCxu421GKQ==
X-MS-Exchange-AntiSpam-MessageData: 5N7vPnveoJJELkxp+QgrCHtWcW9Zhv3fH8D/WRJ59f0ZodE0gMfaniTVGkg+WPoRHW6J36GwUF6blCVmWR/c7an9ZJfIeX+cq2//2QpaxnQe9/PGu4XodoDfRTo+Wo2rYeIVditZsGJniADR4dZDJQ==
X-MS-Exchange-CrossTenant-Network-Message-Id: e0df4ed8-1975-4789-193e-08d7c46716c7
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2020 20:18:54.0829 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 2df8b35f-363f-46b8-a0d1-ee9b1723225b
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +lADpaIi/+EXS89IeF2mMpb5uzB/ypKEaRih2a2j/LYtlARGJLkWyIofaJryvSECtezjElKuySydIG+zwsKVLHRAQ6420ph5AgTHq98N4ng=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0P193MB0289
Archived-At: <>
Subject: Re: [AVTCORE] Improved RTP-mixer performance for RFC 2198 and RFC 4103 redundancy coding
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: Mon, 09 Mar 2020 20:19:05 -0000

Hi James,

Thanks for your review and good comments,

Den 2020-03-09 kl. 18:11, skrev James Hamlin:
> Hi Gunnar
> This is a very interesting draft. It seems to me to fix the stated 
> problem.
> We'll have some comments on the use of the CSRC-list, and packet 
> format, but I'll start with a more general thread:-
> There have been interoperability issues within VRS to do with 
> redundancy, which have taken time to iron out. It will be 
> important to maintain interoperability with current implementations - 
> which you've specified with the rtt-mix attribute.
Yes, I agree that the redundancy mechanism requires some well planned 
test tools and tests to verify that the recovery is correctly done and 
loss detection correctly done.
> I think, the latency incurred with current 
> implementations can probably be kept within acceptable limits. For 
> example when 2 participants are typing concurrently a transmission 
> interval of 100ms and 2 redundant generations would incur no more 
> latency that one participant at 300ms intervals.
Right. A decreased transmission interval from 300 to 100 ms helps a lot 
in a well managed conference. Usually you only have one person at a time 
transmitting text. At a few occasions there may be two, and very 
seldomly three.  When the mixer sees a reason to switch transmission of 
text from one source A to another B, it needs to send the last text 
chunk from A as primary, and then 100 ms later as first redundancy and 
100 ms later as second reduncancy and then 100 ms later it can sent all 
waiting text from B. So, that is just 300 ms after the need to switch 
was discovered, which matches the waiting time incurred in two-party 
calls with the default interval of 300 ms. T.140 requires buffering to 
be no more than 500 ms in order to keep latency low and flow even, so 
that is within limits of what users tend to accept.

So, it is not until we have a quite unmanaged conference with e.g. 5 
concurrent users sending text that the performance problems become 
apparent. Then the delay between transmissions from source A will be 1.5 
seconds, and there will be a number of characters to transmit, so if the 
receiver displays them immediately, the presentation will be 
unpleasantly jerky, or if the receiver smoothens the presentation you 
will have another second before everything from A is presented.

With the proposed mixing with the strict use of the CSRC list, the delay 
between transmissions from source A will be 500 ms, and that is withing 
the performance requirements of T.140 ( and the users)

However, it can of course be questioned how important it is to support 5 
concurrently transmitting users with low latency and jerky-free 
presentation. The most discussed applications are 1) emegency service 
calls where one call-taker hands over the call smoothly to a first 
responder. And 2) a few participants in a multi-media conference, where 
there might be a speech-to-text service.

So, do you recommend that we drop the proposal to increase the switching 
performance by other means than reducing the transmission interval?

> There is some reduction in fault tolerance because the redundant 
> generations are closer in time and therefore their loss probabilities 
> are likely to be more correlated.
Right. The default transmission interval of 300 ms is very good for 
keeping the likelihood high that a burst of loss will not hit all three 
transmissions of a text chunk. With 100 ms there is a higher risk, but 
still lower than if packets were sent right after each other.
>  Some further timing tweaks could improve further. Most of the time 
> people don't type over each other so the need 
> for higher transmission rates would not be sustained and networks can 
> generally handle much higher rates if required.
Right, the mixer can be allowed to have a flexible transmission interval 
between e.g. 100 ms and 300 ms depending on the queues.

So, the very key to multi-party rtt is the capability negotiation and 
the acceptance of shorter transmission interval by multi-party capable 
UAs, while the performance increase by the CSRC-list is a good add-on.



> 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
+46 708 204 288