Help testing upcoming Delta Chat release with calls 📞!

Calls go through well within the server I set up, but there are a few things that are really inconvenient (call quality is good)

  1. The camera turns on
  2. If I enter multi-window mode, i.e. move to another application, and then return back, the ringer turns off.
  3. There is no call hang-up or end-of-call sound, like in Jabber, for example, and it is unclear whether the subscriber is online or not.
  4. There is no handset icon in the notification shade.

All of the points apply to the mobile Delta Chat I assume?

What exactly does this mean? What is a “ringer”?

You mean when calling them, until they have picked up? I think that’s on purpose.

I’ll try to explain it again
1.This applies to the mobile version of Delta Chat Android
2. I make a call, the other person connects, and we talk. I open another app, like Notes, while I’m on the call, and when I come back, the call ends.
3. When a call is disconnected, I don’t understand it, since there is no notification (like Jabber, for example), including no handset icon in the curtain, as happens with a regular call.
4. Why does the camera turn on every time? This reminds me of Elemenx X. Is Chatmail’s Turn built on LiveKit?

2 Likes

The logic of the calls
is also not entirely clear, if they call me or I call, nothing is displayed on the device except the sound of the melody, then the device is unlocked, the sound disappears, and after that in the curtain I click to accept the call)). Cool, but very inconvenient
I checked on several different devices, the logic is the same

2 iOS devices on same home WiFi in Russia. Second device isnt ringing in most cases. But if it does, the connection is not established
App version 2.33

📞 Start outgoing call with offer:
SDP Call Information Summary
========================================

🔷 Session Information:
 Version: 0
 Name: Default Session
 Session ID: 6827435893343013244
 Origin Address: 127.0.0.1

🌐 Network Connectivity (ICE Candidates):
 🏠 Local Network (Host): 1 candidate(s)
 • 192.168.0.17:64415 (UDP)
 ❌ No TURN relay candidates found
 This may cause connection issues in restrictive networks

📊 Connection Assessment:
 ❌ Limited: Only local network connectivity
 Likely to fail across different networks

🎥 Media Streams:
 📹 VIDEO:
 Port: 64415
 Protocol: UDP/TLS/RTP/SAVPF
 Connection: 192.168.0.17
 Direction: Bidirectional (send & receive)

 🔊 AUDIO:
 Port: Dynamic (9 = placeholder)
 Protocol: UDP/TLS/RTP/SAVPF
 Connection: 0.0.0.0
 Direction: Bidirectional (send & receive)

 📊 APPLICATION:
 Port: Dynamic (9 = placeholder)
 Protocol: UDP/DTLS/SCTP
 Connection: 0.0.0.0

🎵 Audio Codecs:
 • opus (High Quality): 48000Hz, 2 channel(s)
 • red: 48000Hz, 2 channel(s)
 • G722 (Good Quality): 8000Hz, 1 channel(s)
 • PCMU (Basic Quality): 8000Hz, 1 channel(s)
 • PCMA (Basic Quality): 8000Hz, 1 channel(s)
 • CN: 8000Hz, 1 channel(s)
 • telephone-event: 48000Hz, 1 channel(s)
 • telephone-event: 8000Hz, 1 channel(s)

📽️ Video Codecs:
 • H264 (Compatible): 90000Hz
 • rtx: 90000Hz
 • H264 (Compatible): 90000Hz
 • rtx: 90000Hz
 • H264 (Compatible): 90000Hz
 • rtx: 90000Hz
 • H264 (Compatible): 90000Hz
 • rtx: 90000Hz
 • H265: 90000Hz
 • rtx: 90000Hz
 • VP8 (WebRTC Standard): 90000Hz
 • rtx: 90000Hz
 • VP9 (Efficient): 90000Hz
 • rtx: 90000Hz
 • VP9 (Efficient): 90000Hz
 • rtx: 90000Hz
 • red: 90000Hz
 • rtx: 90000Hz
 • ulpfec: 90000Hz

🔒 Security:
 DTLS Fingerprint: SHA-256
 61:FC:FC:8A:D5:43:07:AC:DC:0D:8B:00:ED:9F:BA:B5:5A:6D:40:54:1B:B7:68:64:C2:81:D1:7E:7A:B5:7B:B3

🔑 ICE Authentication:
 Username Fragment: BpKE
 Password: [PRESENT]
1 Like

The problem is “:cross_mark: No TURN relay candidates found”. This means that you are not using a chatmail relay, chatmail relay is not updated to have TURN or there is some other problem with getting a TURN candidate, e.g. maybe connection to the TURN server is blocked.

It is also strange that you cannot make a call on the same network, but that could be because the network does not allow to connect devices to each other internally. Even if local candidate can be made to work it is not very interesting, the main question is why TURN is not working.

2 Likes

Hello! Calls feature is looking really promising, I only wish I had more reasons to test.

Couple things, sorry if these have been addressed elsewhere:

  • Even with the “Debug calls” feature disabled, you can still answer calls. Would it be possible to have the toggle prevent calls altogether if disabled?
  • If a new contact initiates a call with you, is the IP address relayed to the caller before accepting the chat request?
2 Likes

There are issues open for this:

Thanks, I missed those, but they’re not exactly the same thing. But once calls will be a stable feature, I think those will cover the scenarios.

Right now it’s a bit confusing to receive an incoming call while the call feature is seemingly entirely disabled.

1 Like

calls to the delta started working in Russia, I tested Internet plus Wi-Fi on mobile, mobile plus mobile, Wi-Fi plus Wi-Fi, everything in both directions, video works…
there is a nuance in the call interface - it automatically resets the call when the call window is closed - it may reset, it may not reset

2 Likes

Devices:

  • Macbook air m2, macos 15.7.3 (1)
  • Iphone 13, ios 23 (2)

Scenario:
Account1: non-chatmail relay, public wifi
Account2: non-chatmail relay, 5g cell connection
2 calls 1

Result: everything went fine. Switching the apps on iphone during call and coming back is not a problem. Down below is the log.

:telephone_receiver: Start outgoing call with offer:
SDP Call Information Summary

:large_blue_diamond: Session Information:
Version: 0
Name: Default Session
Session ID:
Origin Address: 127.0.0.1

:globe_with_meridians: Network Connectivity (ICE Candidates):
:house: Local Network (Host): 1 candidate(s)
• 10.179.214.166:57000 (UDP)
:globe_showing_europe_africa: Public IP (STUN): 2 candidate(s)
• 194.230.145.31:4921 (UDP)
• 194.230.145.31:4923 (UDP)
:counterclockwise_arrows_button: TURN Relay: 1 candidate(s)
• 46.224.39.230:64936 (UDP)

:bar_chart: Connection Assessment:
:white_check_mark: Excellent: All connection types available

:movie_camera: Media Streams:
:video_camera: VIDEO:
Port: 64936
Protocol: UDP/TLS/RTP/SAVPF
Connection: 46.224.39.230
Direction: Bidirectional (send & receive)

:speaker_high_volume: AUDIO:
Port: Dynamic (9 = placeholder)
Protocol: UDP/TLS/RTP/SAVPF
Connection: 0.0.0.0
Direction: Bidirectional (send & receive)

:bar_chart: APPLICATION:
Port: Dynamic (9 = placeholder)
Protocol: UDP/DTLS/SCTP
Connection: 0.0.0.0

:musical_note: Audio Codecs:
• opus (High Quality): 48000Hz, 2 channel(s)
• red: 48000Hz, 2 channel(s)
• G722 (Good Quality): 8000Hz, 1 channel(s)
• PCMU (Basic Quality): 8000Hz, 1 channel(s)
• PCMA (Basic Quality): 8000Hz, 1 channel(s)
• CN: 8000Hz, 1 channel(s)
• telephone-event: 48000Hz, 1 channel(s)
• telephone-event: 8000Hz, 1 channel(s)

:film_projector: Video Codecs:
• H264 (Compatible): 90000Hz
• rtx: 90000Hz
• H264 (Compatible): 90000Hz
• rtx: 90000Hz
• H264 (Compatible): 90000Hz
• rtx: 90000Hz
• H264 (Compatible): 90000Hz
• rtx: 90000Hz
• H265: 90000Hz
• rtx: 90000Hz
• VP8 (WebRTC Standard): 90000Hz
• rtx: 90000Hz
• VP9 (Efficient): 90000Hz
• rtx: 90000Hz
• VP9 (Efficient): 90000Hz
• rtx: 90000Hz
• red: 90000Hz
• rtx: 90000Hz
• ulpfec: 90000Hz

:locked: Security:
DTLS Fingerprint: SHA-256

:key: ICE Authentication:
Username Fragment:
Password: [PRESENT]

:telephone_receiver: Outgoing call was accepted with answer:
SDP Call Information Summary

:large_blue_diamond: Session Information:
Version: 0
Name: Default Session
Session ID:
Origin Address: 127.0.0.1

:globe_with_meridians: Network Connectivity (ICE Candidates):
:house: Local Network (Host): 2 candidate(s)
• 192.168.1.175:50753 (UDP)
• 2001:171b:c9a4:de50:5167:3f31:cf1:2c8e:63257 (UDP)
:globe_showing_europe_africa: Public IP (STUN): 1 candidate(s)
• 188.154.77.229:50753 (UDP)
:counterclockwise_arrows_button: TURN Relay: 2 candidate(s)
• 46.224.39.230:50194 (UDP)
• 46.224.39.230:50976 (UDP)

:bar_chart: Connection Assessment:
:white_check_mark: Excellent: All connection types available

:movie_camera: Media Streams:
:video_camera: VIDEO:
Port: 50194
Protocol: UDP/TLS/RTP/SAVPF
Connection: 46.224.39.230
Direction: Bidirectional (send & receive)

:speaker_high_volume: AUDIO:
Port: Dynamic (9 = placeholder)
Protocol: UDP/TLS/RTP/SAVPF
Connection: 0.0.0.0
Direction: Bidirectional (send & receive)

:bar_chart: APPLICATION:
Port: Dynamic (9 = placeholder)
Protocol: UDP/DTLS/SCTP
Connection: 0.0.0.0

:musical_note: Audio Codecs:
• opus (High Quality): 48000Hz, 2 channel(s)
• red: 48000Hz, 2 channel(s)
• G722 (Good Quality): 8000Hz, 1 channel(s)
• PCMU (Basic Quality): 8000Hz, 1 channel(s)
• PCMA (Basic Quality): 8000Hz, 1 channel(s)
• CN: 8000Hz, 1 channel(s)
• telephone-event: 48000Hz, 1 channel(s)
• telephone-event: 8000Hz, 1 channel(s)

:film_projector: Video Codecs:
• H264 (Compatible): 90000Hz
• rtx: 90000Hz
• H264 (Compatible): 90000Hz
• rtx: 90000Hz
• H265: 90000Hz
• rtx: 90000Hz
• VP8 (WebRTC Standard): 90000Hz
• rtx: 90000Hz
• VP9 (Efficient): 90000Hz
• rtx: 90000Hz
• VP9 (Efficient): 90000Hz
• rtx: 90000Hz
• red: 90000Hz
• rtx: 90000Hz
• ulpfec: 90000Hz

:locked: Security:
DTLS Fingerprint: SHA-256
(Redacted)

:key: ICE Authentication:
Username Fragment: Boud
Password: [PRESENT]

1 Like

everything is good, but something is not good)))

  • if delta chat is installed on the phone and on the desktop as a second device, then for some reason the call arrives on the desktop and this cannot be changed - you need the ability to change the device priority when answering a call

  • you cannot minimize the call window, the call is reset

  • you can’t turn off the phone screen when making a call - the microphone turns off, you can’t be heard and it’s unclear how the proximity sensor on the phone works

  • if your interlocutor sent you a message during a call, the call is dropped

  • when using a headset, it is not clear which microphone is working, for speakerphone or from the headset - no audio device control…

4 Likes

Joined Delta chat today, got pretty upset that calls are not implemented, thank god I didn’t rush to delete the app.

But I can’t call my friend, it stuck at connecting.

This same behaviour happens to me (android) and friend(ios). Both sides enabled calls feature.

1 Like

hey @kovalensky - first of all welcome aboard!

then, thanks a lot for your report.

to take action on it, however, we need more details - used os, version, the call-log (tap the “settings” button in the call window) and maybe the full-log (at settings / advanced”); see the previous posts to get an idea.

it is also important to use the most recent version as there were changes, this is 2.42 or later, which is in testing currently, and not yet available on all platforms

1 Like

It’s the latest version 2.35 on android.

After 15s wait, it starts to ring, but other side doesn’t get the call notification. He is on iphone from the latest version of appstore.

Here’s my log:

URL hash CMD: startCall
getUserMedia() completed
:telephone_receiver: Start outgoing call with offer:
SDP Call Information Summary

:large_blue_diamond: Session Information:
Version: 0
Name: Default Session
Session ID: 1758616250221301947
Origin Address: 127.0.0.1

:globe_with_meridians: Network Connectivity (ICE Candidates):
:house: Local Network (Host): 1 candidate(s)
• 192.168.100.103:40187 (UDP)
:cross_mark: No TURN relay candidates found
This may cause connection issues in restrictive networks

:bar_chart: Connection Assessment:
:cross_mark: Limited: Only local network connectivity
Likely to fail across different networks

:movie_camera: Media Streams:
:speaker_high_volume: AUDIO:
Port: 40187
Protocol: UDP/TLS/RTP/SAVPF
Connection: 192.168.100.103
Direction: Bidirectional (send & receive)

:video_camera: VIDEO:
Port: Dynamic (9 = placeholder)
Protocol: UDP/TLS/RTP/SAVPF
Connection: 0.0.0.0
Direction: Bidirectional (send & receive)

:bar_chart: APPLICATION:
Port: Dynamic (9 = placeholder)
Protocol: UDP/DTLS/SCTP
Connection: 0.0.0.0

:musical_note: Audio Codecs:
• opus (High Quality): 48000Hz, 2 channel(s)
• red: 48000Hz, 2 channel(s)
• G722 (Good Quality): 8000Hz, 1 channel(s)
• PCMU (Basic Quality): 8000Hz, 1 channel(s)
• PCMA (Basic Quality): 8000Hz, 1 channel(s)
• CN: 8000Hz, 1 channel(s)
• telephone-event: 48000Hz, 1 channel(s)
• telephone-event: 8000Hz, 1 channel(s)

:film_projector: Video Codecs:
• VP8 (WebRTC Standard): 90000Hz
• rtx: 90000Hz
• AV1 (Modern/Efficient): 90000Hz
• rtx: 90000Hz
• VP9 (Efficient): 90000Hz
• rtx: 90000Hz
• H264 (Compatible): 90000Hz
• rtx: 90000Hz
• H264 (Compatible): 90000Hz
• rtx: 90000Hz
• H264 (Compatible): 90000Hz
• rtx: 90000Hz
• H264 (Compatible): 90000Hz
• rtx: 90000Hz
• H265: 90000Hz
• rtx: 90000Hz
• red: 90000Hz
• rtx: 90000Hz
• ulpfec: 90000Hz

:locked: Security:
DTLS Fingerprint: SHA-256
FD:2B:B3:2D:F0:FC:F6:E0:DE:0D:D2:89:CE:AA:EE:A0:EF:C5:9C:3C:01:61:3E:62:7E:BE:66:F3:CE:D2:D5:66

:key: ICE Authentication:
Username Fragment: KEQB
Password: [PRESENT]
Gathered new ICE candidate, but iceTricklingDataChannel is not yet open, will buffer it null

Which server are you on? No STUN or TURN servers are available.

Could be the reason, can we specify our own stun/turn servers in the app? I’m using vim.wtf for now

Indeed, their TURN server is not working, not even as a STUN server. Possibly because they didn’t allow the 3478 UDP port through the firewall. Can test with https://icetest.info/.

No, not possible currently.

1 Like

Yes, wrote to admin, he opened the port, now calls are working.

Don’t have the ability to get call notifications though. It comes as a background notif, which you gotta look for. But I believe you guys already know this :+1:t2:

3 Likes

5 posts were split to a new topic: Let chatmail installer check whether all needed ports are open