nextcloud / nextcloud/talk-android

Talk android app refuses video/voice calls

Open
#4,823 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

0. Needs triage bug
Dominant language
Kotlin
Stars
739
Forks
321
Avg merge
14h 59m
Merged PRs (30d)
151

Description

Steps to reproduce

Enter a chat which is working for text messages
Try to call
The contact get the request to accept the call
Trying to accept and to enable the connection fails

Expected behaviour

A call request is accepted and the video/voice connection can be enabled

Actual behaviour

A call request can be received but not confirmed

Device brand and model

Ulefone Armor 9 (Samsung Galaxy)

Android version

9 (15)

Nextcloud Talk app version

21

Nextcloud server version

30.0.8

Talk version

21

Custom Signaling server configured

Yes (specify version in Additional Information)

Custom TURN server configured

Yes

Custom STUN server configured

Yes

Android logs
Meta-Information

Erzeugung des Systemberichts

22.03.2025 13:45:44

Telefon

Gerät

Ulefone Armor 9

Android-Version

29

Google Play-Dienste

Google Play-Dienste sind verfügbar

App

App-Name

Nextcloud Talk

App-Version

v21.0.0

Build flavor

gplay

Batterie-Einstellungen

Batterieoptimierung wird ignoriert, alles in Ordnung

Anrufbenachrichtigungskanal aktiviert?

Ja

Nachrichtenbenachrichtigungskanal aktiviert?

Ja

Neueste Firebase-Push-Token-Generation

17.03.2025 21:06:13

Neuester Firebase-Push-Token-Abruf

22.03.2025 13:45:27

Registrierte Benutzer

1

Aktuelle Push-Registrierung am Server

22.03.2025 13:45:29

Aktuelle Push-Registrierung beim Push-Proxy

22.03.2025 13:45:29

Serverversion

30.0.8

Serverversion von Talk

20.1.5

Signalisierungsmodus

Server log
Coturn after restart
0: : log file opened: /var/log/coturn/turnserver.log
0: : Listener address to use: X.X.X.X
0: : Listener address to use: XXX
0: : Relay address to use: X.X.X.X
0: : Relay address to use: XXXX
0: : Whitelisting external-ip private part: XXXX
0: : 0 bytes per second allowed, combined server capacity
0: : 
RFC 3489/5389/5766/5780/6062/6156 STUN/TURN Server
Version Coturn-4.5.2 'dan Eider'
0: : 
Max number of open files/sockets allowed for this process: 524288
0: : 
Due to the open files/sockets limitation,
max supported number of TURN Sessions possible is: 262000 (approximately)
0: : 

==== Show him the instruments, Practical Frost: ====

0: : TLS supported
0: : DTLS supported
0: : DTLS 1.2 supported
0: : TURN/STUN ALPN supported
0: : Third-party authorization (oAuth) supported
0: : GCM (AEAD) supported
0: : OpenSSL compile-time version: OpenSSL 3.0.2 15 Mar 2022 (0x30000020)
0: : 
0: : SQLite supported, default database location is /var/lib/turn/turndb
0: : Redis supported
0: : PostgreSQL supported
0: : MySQL supported
0: : MongoDB is not supported
0: : 
0: : Default Net Engine version: 3 (UDP thread per CPU core)

=====================================================

0: : Domain name: 
0: : Default realm: XXXX
0: : 
CONFIG: --no-tcp-relay: TCP relay endpoints are not allowed.
0: : SSL23: Certificate file found: /etc/coturn/combined.crt
0: : SSL23: Private key file found: /etc/coturn/private.key
0: : TLS1.2: Certificate file found: /etc/coturn/combined.crt
0: : TLS1.2: Private key file found: /etc/coturn/private.key
0: : TLS cipher suite: HIGH:!aNULL:!MD5
0: : DTLS: Certificate file found: /etc/coturn/combined.crt
0: : DTLS: Private key file found: /etc/coturn/private.key
0: : DTLS1.2: Certificate file found: /etc/coturn/combined.crt
0: : DTLS1.2: Private key file found: /etc/coturn/private.key
0: : DTLS cipher suite: HIGH:!aNULL:!MD5
0: : IO method (main listener thread): epoll (with changelist)
0: : Wait for relay ports initialization...
0: :   relay X.X.X.X initialization...
0: :   relay X.X.X.X initialization done
0: :   relay XXXX initialization...
0: :   relay XXXX initialization done
0: : Relay ports initialization done
0: : IO method (general relay thread): epoll (with changelist)
0: : IO method (general relay thread): epoll (with changelist)
0: : IO method (general relay thread): epoll (with changelist)
0: : IO method (general relay thread): epoll (with changelist)
0: : IO method (general relay thread): epoll (with changelist)
0: : turn server id=3 created
0: : turn server id=0 created
0: : turn server id=1 created
0: : turn server id=2 created
0: : turn server id=4 created
0: : IO method (general relay thread): epoll (with changelist)
0: : IO method (general relay thread): epoll (with changelist)
0: : IO method (general relay thread): epoll (with changelist)
0: : turn server id=7 created
0: : turn server id=6 created
0: : turn server id=5 created
0: : Total General servers: 8
0: : IO method (auth thread): epoll (with changelist)
0: : IO method (auth thread): epoll (with changelist)
0: : IO method (auth thread): epoll (with changelist)
0: : IO method (auth thread): epoll (with changelist)
0: : IO method (admin thread): epoll (with changelist)
0: : SQLite DB connection success: /var/lib/turn/turndb
On attempt to establish video/voice connection with android-App
3874: : ERROR: session 006000000000007718: TLS/TCP socket error: Connection reset by peer M.M.M.M:42092



HPB
hub.go:862: Register user Dirk@nextcloud-backend from 2a02:3032:36e:3a8a:d9aa:3879:91eb:cb40 in unknown-country (Mozilla/5.0 (Android) Nextcloud-Talk v21.0.0) XXX)
clientsession.go:491: Session YYY
joined room oqcab9mb with room session id XXX 
clientsession.go:295: Permissions of session XXX
changed: [publish-audio publish-video publish-screen control]
client.go:375: Error reading from client XXX
: websocket: close 1006 (abnormal closure): unexpected EOF
hub.go:960: Unregister XXX (private=XXX
hub.go:664: Closing expired session XXX (private=YYY)
clientsession.go:569: Removed room session XXX
: map[error:map[code:no_such_room message:The user is not invited to this room.] type:error]


NATS
[2008705] 2025/03/22 11:17:29.673244 [INF] Server is ready
[2008705] 2025/03/22 11:17:29.673618 [DBG] maxprocs: Leaving GOMAXPROCS=8: CPU quota undefined
[2008705] 2025/03/22 11:17:31.667862 [DBG] 127.0.0.1:48786 - cid:5 - Client connection created
Additional information

The setup works with IPad, IPhone, MAC, Windows 11 etc without any problems. Only calls with Talk android fail.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No source file, test, or entry point is named. Start by reproducing the failed call on Android 9 with Talk v21 and the reported signaling, TURN, and STUN setup, then compare the Android and server logs; done means video and voice calls can be accepted and connected.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, kotlin
Domain
audio-video-rtc, mobile, networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.