Voice over IP
For GPRS it's fixed at 8 kbit and for EDGE it's no more than 16 kbit.
How to check the current bitrate?
During a call, tap on the name and a debug window will open up with some technical information. Look for Audio bitrate.
I can hear echo
If you hear your own voice with some delay, Telegram support needs to know the device model the other side of the call is using. If it's an Android device, they also need to know i it's a custom ROM. Why are they interested in the device model of the other side? Because the other device fails to do the proper job of echo cancellation using its built-in signal processing Telegram is using by default.The chat partner can see the exact name in the Session settings at the top.
There is some delay
If you hear the other party with a significant delay of several seconds or even more, the Telegram VoIP developer needs the VoIP logs, screenshots of the debug windows (both sides) and some more information about the network. It may be helpful if you try to enable P2P in the Telegram settings and check if anything will change.
There are several cases where the delay is inevitable:
- For any networks: high congestion combined with no priority for VoIP/UDP traffic. The app will do as much as it could by lowering the audio quality to reduce the bandwidth used and so lower the delay, but this might not always help. High congestion introduces jitter (unevenness in the time intervals between the data packets) and delaying the playout of the received data is the only way to avoid drop-outs due to some packets arriving too late.
- For networks that involve long-distance radio communication, such as onboard Wi-Fi in airplanes or satellite internet: the nature of these networks. Because of the way these work, the round-trip time for the data packets increases, and the voice delay increases with it. An additional 1-1.5 second delay is to be expected.
- For WiFi and mobile data: poor signal. Some underlying protocols buffer and retransmit the packets that failed to go through on the first attempt. If those failures occur relatively evenly over time, this trades the possible dropped out audio for some delay.
- Firewalls: some of them don't let unknown UDP traffic through so the app uses TCP as a last resort. Because TCP isn't intended for real-time communication but rather for reliable and orderly data transfer, it might introduce some delay.
- Proxies: some SOCKS5 proxies don't support UDP or aren't properly configured for it and cause the app to fall back to TCP. For this very reason, recent app versions have a separate setting to use the proxy for calls (this is off by default).
How to obtain VoIP logs
Recent versions of Android and iOS apps keep logs for the last ~20 calls. These can be accessed by tapping "Rate this call" in the options for the call message on the device that was used for that call. Then, after the user rates 3 stars or less and agrees to send technical information, the log file will be sent to the VoIP support.