Telegram-FOSS-Team / Telegram-FOSS

Unofficial, FOSS-friendly fork of the original Telegram client for Android
GNU General Public License v2.0
2.89k stars 370 forks source link

Voice/Video Calls v7.8.0, 7.9.3 Beta Fail at "Exchanging Encryption Keys" with other Telegram clients. #530

Open AntonyNderitu opened 3 years ago

AntonyNderitu commented 3 years ago

Hello. Since upgrading to v7.8.0 from v7.6.0 , I have been unable to make voice or video calls with other telegram users majority of whom use the one from play store. I even tried the latest BETA; TF-BETA-THERMATK-v7.9.3 and the same issue was observed. The calls always fail at the same stage, "Exchanging Encryption Keys". At the moment I have downgraded to v7.6.0 which works flawlessly.

Please assist to resolve this issue. Thank you

Self-Perfection commented 3 years ago

Same here. Does not in Telegram FOSS 8.0 as well.

AntonyNderitu commented 3 years ago

Same here. Does not in Telegram FOSS 8.0 as well.

I am glad you can confirm the issue. I tried Telegram Foss v8.0.0 again when they released the Beta here on GitHub and once more when it was published on Fdroid repo with the same result. The Devs over at Telegram-Foss Off-topics said they were unable to reproduce the issue so I was left with no choice but to wait and see if someone else could confirm it. My phone is a Huawei Y9 2019, running Android 9, EMUI 9.1.0. Which device are did you try it on?

Self-Perfection commented 3 years ago

my device is: Xiaomi Mi A1 on Android 9 P

I suppose it is irrelevant though.

I have found a way to get calls working. Apparently personalDNSfilter was blocking them despite it was "paused" and Telegram whitelisted. I had to disable "Always on VPN" flag on personalDNSfilter in android VPN settings to get calls working again.

Do you have personalDNSfilter installed? I'd also suggest perusing logs shown by adb logcat during call attempt. It helped me to recognize the issue.

AntonyNderitu commented 3 years ago

I took some time to investigate since i use Blokada. I made the same observations. Bypassing/whitelisting Telegram did not help unless I disabled Blokada. Someone at Blokada chat on Telegram suggested downloading Telegram from the official telegram website (v8.1.2). Unfortunately the same issue was observed. I will downgrade since I need blokada.


Update May 2022


When I upgraded Blokada from v4.xx to 5.xx, whitelisting Telegram worked but the new blokada was not as feature rich as the old one. I assessed my reason for wanting/needing blokada and realised that over the coarse of time i had replaced most of the apps i had from google play store to those from Fdroid and similar sources. These apps did not have any of the issues as those from play store such as ads and trackers etc. I moved my focus on to DnsCrypt instead. Its been several months using Invisible Pro and I am very happy with the results. All my apps work without issues.

Enrico204 commented 2 years ago

Apparently the problem is somehow related to the VPN feature that these tools are using. I have the same issue when Wireguard is enabled

contracourse commented 2 years ago

Same when you use a proxy or orbot. I disabled peer-to-peer calls, so that it relays the calls through the telegram server that makes it work. However sometimes telegram still crashes after exchanging encryption keys but after the second time it generally works.

soshial commented 2 years ago

I have the same problem while using VPN. No problems whatsoever with VPN turned OFF.

seboss666 commented 2 years ago

I can confirm, with blokada enabled, calls fail to establish. I'm not sure though how you disable peer-to-peer calls in the android client?

Younes-L commented 2 years ago

I'm not sure though how you disable peer-to-peer calls in the android client?

to do so open telegram settings > privacy & security > privacy : calls > peer-to-peer > set it to "nobody"

MattRGX commented 1 year ago

I'm not sure though how you disable peer-to-peer calls in the android client?

to do so open telegram settings > privacy & security > privacy : calls > peer-to-peer > set it to "nobody"

Hello, This trick is not working for me. I'm on 9.6.5 and still not able to make any call (voice or video) while my Wireguard connection is active. I'm on CalyxOS (Android 13).

When i disable Wireguard, everything work fine.

Does this problem has been solved ?

Thanks for your help

Enrico204 commented 1 year ago

Another workaround with Wireguard is excluding Telegram from Wireguard allowed applications: open Wireguard, click on the VPN then on the edit button, click on "All Applications" and select Telegram in the "Exclude" tab.