talkkonnect / talkkonnect

Headless Mumble Linux Client for use as a Transceiver, Walkie Talkie, Intercom, Radio Gateway for SBCs
http://www.talkkonnect.com
Mozilla Public License 2.0
246 stars 56 forks source link

High bandwidth being sent to server when idle #130

Closed Pegasus454 closed 1 week ago

Pegasus454 commented 3 months ago

Hi Everyone,

I was wondering if anyone else has seen this or not. I am using Talkkonnect in PTT mode (meaning that I have a GPIO pin assigned to PTT). When I press the PTT, everything works as planned and the clients all hear my audio OK. However, I have noticed that when the PTT is not pressed, there is a constant 20Mb/s stream being sent to the murmur server.

It is probably something in my config, but I was wondering if anyone else as seen this?

image

talkkonnect commented 3 months ago

Hi, have not seen this behavior of expressive bandwidth use when not transmitting or receiving for additional information please also monitor the CPU levels using tools like HTOP or TOP and filter to see talkkonnect resource usage so as to see how and when this traffic is generated to recognize if there is a pattern to this behavior.

Also please share the tool you used to monitor this issue so we can reproduce it on this side.

best, suvir

Pegasus454 commented 3 months ago

Hi Suvir,

Yea.. Its pretty strange but I can tell its definitely talkkonnect sending the data. Below is a snapshot of what htop looks like

I made sure I went to the console and hit f9 to "stop transmitting" and then did the below htop

image

image

Is there any detailed debug I can get that may be able to help?

Kind Regards, Peg

talkkonnect commented 3 months ago

Pegasus, I can reproduce the problem here, but looked and looked cant find the source of the problem. Looked and looked until my brain went numb yesterday. It happens as soon as the TCP client dials the server. It looks like a deep rooted problem that will not be easy to find. Will take a lot of time since these days very little time to spare on talkkonect.

Reverted to the orignal gumble and gopus libraries it is still happening. So currently I am out of ideas.

suvir

zrdimetc commented 2 months ago

When running the latest talKKonnect build in Orange Pi with Murmur server version 1.3.4 installed from a package, (not a compiled version 1.5 or 1.6), talKKonnect client is perfectly quiet and well behaving, There is no unusually high bandwidth utilization and outgoing traffic to the server when standing by. The issue is reproduced only when talKKonnect connects to community server mumble.talkkonnect.com (Murmur compiled version 1.6). When connected to the community server, there is outgoing traffic 20-100 kilobits per second, to the server. This must be a server issue. Possibly related to a bug with some new feature, a server config or the way server was compiled. Mumble client for Windows (1.5.634) does not misbehave – when on stand by, it doesn’t create unusual traffic. For watching connections and bandwidth, use iftop in Linux or resource monitor in Windows.

talkkonnect commented 2 months ago

Zoran, For me when i last looked it was in the MB/Sec range not KB so it's interesting that different people are getting different results. Do let us know if you find any underlying root cause.

/suvir

zrdimetc commented 2 months ago

Bandwidth usage seem to increase with more clients in the channel and traffic is bi-directional. No streaming, all clients are standing by. image image image

zrdimetc commented 1 month ago

Now, this is my Murmur 1.3.4 with latest talKKonnect build image image image Network traffic when the clients are idle, is negligible. This is typical tcpdump capture of my client and server talking, exchanging just a tiny amount of bytes, every few seconds, when everybody is just standing by in the channel. image

zrdimetc commented 1 month ago

Suvir, try to disable channel listener feature to test behavior? In the server config? listenersperchannel=0 and listenersperuser=0. And in talKKonnect. We already know, that new talKKonnect code with old server, version 1.3.4 works fine. talKKonnect code prior to implementing channel listener with latest server, version 1.6.0 might also work fine? Or just try disabling channel listener in the server and let's observe traffic with nethogs or iftop?

zrdimetc commented 1 month ago

I powered up an old virtual machine with talKKonnnect version 2.10.13 from Feb 15 2022, Current version is 2.43.01. Old talKKonnect connected to 1.6.0 community server has no issues with excessive network traffic going between server and client. image

zrdimetc commented 1 month ago

I tested talKKonnect Ver 2.43.01 Rel 24 Jun 2024 (Latest Release) with Mumble server version 1.6. I was able to recreate the issue with latest talKKonnect and Mumble server version 1.6.0. Here is the nethogs reading of talKKonnect with Mumble server. Excessive bidirectional traffic with client idle. image

talkkonnect commented 1 week ago

All, there is some progress on the high bandwidth font I have found that if we use versions lower than https://github.com/mumble-voip/mumble/commit/ea3e7cdce6da6b0f5544d0829871fefd23293938 this commit of the murmur server the issue is not happening on talkkonnect for excessive bandwidth.

They made some audio buffer fix and that causes havoc when used with talkkonnect.

Until we find out why this is happening with this ecosystem we will have to refrain from using any mumble server that is newer than November 2023

for now thats all folks until time permits.

Thanks Zoran for the inspiration to look again today until I got lucky.

suvir kumar

Pegasus454 commented 1 week ago

Oh wow.. Thats really good dective work!1 Thank you for finding this.

Could you tell me how to download from GIT the version that is still compatible? I am unsure how to specify a specific commit point to give it a try.

talkkonnect commented 1 week ago

The version I think you need is e99c7c815d2a24cdd8e068e35f6a420ad2c52c27 thats last the Github hash for the server version that works with talkkonnect with no bandwidth issue..

to get the version that works you should be able to do a git checkout e99c7c815d2a24cdd8e068e35f6a420ad2c52c27

have to later see what changes they made, however to fix talkkonnect it would be at the gumble library level which I am not so sure I have enough knowledge to do that.