numerous-vr-95901
04/10/2026, 8:04 PMtall-airline-16756
04/10/2026, 8:04 PMtall-airline-16756
04/10/2026, 8:05 PMnumerous-vr-95901
04/10/2026, 8:06 PMtall-airline-16756
04/10/2026, 8:07 PMnumerous-vr-95901
04/10/2026, 8:15 PMtall-airline-16756
04/10/2026, 8:16 PMnumerous-vr-95901
04/10/2026, 8:17 PMtall-airline-16756
04/10/2026, 8:18 PMAVAudioSessionCategoryPlayAndRecord / appropriate mode) and that CallKit/AVAudioSession activation is performed per CallKit callbacks. Confirm speaker is forced when desired.
Quick actionable tests to run now
1. Reproduce with one non‑US device on Wi‑Fi and on mobile data; capture client logs (ICE candidates, connect errors) and note timestamps.
2. Force TURN/TCP in the client and retry a failing call to see if media improves.
3. Temporarily enable verbose push logging in your push provider to see delivery attempts for non‑US device tokens.
4. Add a short server-side guard so greeting audio is played only once per successful publish (to rule out duplicate publish on reconnect).
5. On iOS test device, toggle AVAudioSession to speaker after the call connects to confirm routing behavior.
What I can do next if you share examples
• Inspect LiveKit hosted logs for the provided room/session IDs and timestamps to confirm push delivery, signaling errors, and any repeated join/publish events.
• Point out specific ICE/TURN failures or push delivery results and recommend exact config changes (TURN regions/ports, push certs, or client fixes).
If you share 1–3 session IDs, timestamps, and the affected countries/iOS versions I’ll check the hosted logs and return precise next steps.
, with interactive elementsnumerous-waiter-97064
04/10/2026, 8:18 PMtall-airline-16756
04/10/2026, 8:19 PMplayAndRecord (or equivalent) and activate it in the CallKit answer callback; ensure you set the proper category/mode so iOS doesn’t suspend audio.
1. Push certificate/environment
◦ Verify APNs VoIP key/cert uploaded for the correct environment. Check push delivery to non‑US tokens.
1. Keep reconnection logic safe
◦ Avoid background reconnect attempts that publish audio repeatedly; play greeting only once after a confirmed successful publish.
1. Network resilience
◦ Force TURN (TCP/TLS) in failing regions to avoid UDP-blocking carriers. Ensure TURN servers are reachable from affected countries and support TCP/TLS on common ports (443).
1. Device / OS factors
◦ Ask users to check Low Power Mode and any vendor battery optimizations. Note iOS version and device model for pattern detection.
What to collect and share so I can investigate
• 1–3 failing session/room IDs with timestamps, affected user country, iOS version, and whether they were backgrounded/locked or on Low Power Mode.
• Client logs around the failure (ICE state changes, push receipt, CallKit callbacks, AVAudioSession activation).
• Whether pushes were observed by your push provider for those attempts.
If you share one example session and logs, I’ll inspect the hosted logs and show exactly where the connection dropped and which of the checks above will resolve it.
, with interactive elementsnumerous-waiter-97064
04/10/2026, 8:19 PMtall-airline-16756
04/10/2026, 8:19 PMnumerous-waiter-97064
04/10/2026, 8:21 PMtall-airline-16756
04/10/2026, 8:21 PMnumerous-waiter-97064
04/10/2026, 8:22 PMtall-airline-16756
04/10/2026, 8:23 PMnumerous-vr-95901
04/10/2026, 8:25 PMtall-airline-16756
04/10/2026, 8:25 PM