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

No Audio/Video when using iPhone 11 with eSIM #860

Closed
SlenderF opened this issue Aug 24, 2022 · 2 comments
Closed

No Audio/Video when using iPhone 11 with eSIM #860

SlenderF opened this issue Aug 24, 2022 · 2 comments

Comments

@SlenderF
Copy link

Steps to reproduce

  1. Use iPhone 11 (Client-A) to make a call to another iPhone (Client-B) or another one (Client-C)
  2. Client-A(WiFi) <-> Client-B (WiFi or 4G/LTE) or Client-A(WiFi) <-> Client-C (WiFi or 4G/LTE) work fine.
  3. Try to connect when Client-A is using mobile internet (4G/LTE). Then there is no Audio/Video.

Expected behaviour

Audio and Video should work all the time regardless if Client-A is using 4G/LTE or Wi-Fi.

Actual behaviour

If Client-A is connected via 4G/LTE there is no Audio/Video regardlress of the connection type of Client-B or Client-C. Unless Client-A gets Wi-Fi calls are not working.

STUN: using official Nextcloud's stun (stun.nextcloud.com:443) or a custom one doesn't make any difference.
TURN: coturn and eturnal

We tried Coturn latest release 4.5.2 (https://github.com/coturn/coturn) as well as Eturnal 1.10.1 (https://github.com/processone/eturnal) as a TURN. Tried to set turn: only and turns: only as well as turn: and turns: with (UDP and TCP, UDP only and TCP only) in the Nextcloud settings /settings/admin/talk. Tried with TURN being set up using standard ports 3478/5349 as well as just 443. Tried Let's Encrypt and ZeroSSL for TLS on the TURN server.

All the options we tried the tool from Nextcloud settings /settings/admin/talk always shows OK( a "tick" meaning that it can connect and receive ICE candidates from TURN).

We have several more iPhones (Client-B and Client-C) and all of them work fine Client-B <-> Client-C regardless of the network.
And only the iPhone 11 (Client-A) does not work on 4G/LTE. The only difference is that it has eSIM instead of a normal SIM-card and it is in the Roaming currently. It might be that it has something to do with a mobile carrier although Whatsapp, Telegram, Signal as well standard SIP via Zoiper work perfectly on this iPhone using 4G/LTE.

I can debug Coturn (or eturnal) and see their logs on the server although it has not that much of information. Mainly the errors are:

TCP socket closed remotely
reason: TLS/TCP socket buffer operation error (callback) or
reason: TCP connection closed by client (callback) or
reason: allocation timeout

I'm not sure if TURN works correctly at all. Before we have never had any issues with audio/video connections. We've been using NextcloudTalk (with STUN and TURN) for a very long time and maybe wouldn't have even noticed the issue if not this iPhone 11. It seems there might be something that causes NextcloudTalk App (iOS) to close/interrrupt the TURN connection.

I tried to capture iOS console log using iMazing as desribed here (#851) but the log is too big and it's hard to understand what is going on on the client's side.

Is there any other way to to check detailed logs of signalling of the server and iOS app? Maybe that would at least point out to an error somewhere.

Device information

Device: iPhone 11 Pro
iOS version: 15.6.1
Talk version: 14.0.3

Server information

Nextcloud version: 24.0.4
Talk version: 14.0.4
Custom Signaling server configured: no
Custom TURN server configured: yes (tried Coturn and Eturnal)
Custom STUN server configured: yes (tried both stun.nextcloud.com:443 and Coturn or Eturnal)

Server log (data/nextcloud.log)

I can upload fresh logs anytime if neccessary. Just not sure which logs to start with. Either Nextcloud Server or Coturn or iPhone console log.

If there is any idea where to start from I will be ready to make fresh debugging and upload all the logs here.

@SystemKeeper
Copy link
Collaborator

Hey @SlenderF
at first glance this does sound very much like a connectivity issue. I don't think the eSIM is an issue here, but roaming on a different carrier might be. If it's working on all other devices and also when the device has wifi connectivity, I don't think it's an issue with talk-ios per se. Is this connection made over the internet or is there a vpn involved or something?

Regarding the console log: iOS tends to log many things to the console, making debugging very hard. A few things you might want to try:

Other than that there's currently no way in talk-ios to debug this further.
You could try to use the web version of talk on the problematic iPhone to see, if a successful connection is possible this way, but it's not optimized for small screens like the iPhone (make sure you allow camera and microphone access in safari for that website).

@SystemKeeper
Copy link
Collaborator

Hey @SlenderF
I'll close this issue. Feel free to let us know if you have any indication that this might indeed be a talk-ios issue.

@SystemKeeper SystemKeeper closed this as not planned Won't fix, can't repro, duplicate, stale Sep 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants