Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Are you using Google Congestion Control? #16

Open
laurenzfg opened this issue Mar 30, 2022 · 1 comment
Open

Are you using Google Congestion Control? #16

laurenzfg opened this issue Mar 30, 2022 · 1 comment

Comments

@laurenzfg
Copy link

laurenzfg commented Mar 30, 2022

Hello!
I am investigating the congestion control / bitrate selection used for Telegram video calls as part of my academic studies. In the repository DrKLO/Telegram I find references to Google Congestion Control, SCReAM and a custom libtgvoip implementation. It is not clear to me which implementation is in use during a call between Android users.
Your support pointed me this is the most current repository.
Reading MediaManager.cpp and finding references to transport-cc I suspect you configure GCC with a maximum BW of 2MBit.

But I ran more then 10.000 calls in my study testbed comparing Signal, Jitsi and Telegram. The two other apps definitely implement GCC and behave in lockstep. Your app behaves differently.
Moreover, Telegram uses just 700kbit tops, albeit I read a maximum of 2Mbit from the code.

I have performed these measurements with Telegram 8.4.3.2531.

Can you tell me which Congestion Control Telegram is using?

bwprofiles.pdf
lencdf.pdf
iptcdf.pdf
callsimplex_cubic_fifo.pdf

@laurenzfg
Copy link
Author

I can give you more plots / explain the plots if you want. For now, they should just illustrate that I behave another behavior then with Jitsi / Signal when measuring Telegram calls.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant