Fix common Alaznah Calling integration issues.
Troubleshooting
| Symptom | Likely fix |
|---|---|
Unable to resolve module / Metro path errors | Rebuild; clear Metro cache (--reset-cache); ensure peers installed |
| Native module missing / null | Rebuild the binary; Expo Go unsupported |
| Cannot connect | Reachable signalingUrl; device cannot use your laptop localhost without a tunnel |
| Auth / 401 | Token userId must match config.userId; mint a fresh token |
| No audio | Mic permission; check mute on both peers; physical device preferred |
| Black / no video | Camera permission; mediaType: 'video'; check videoEnabled |
| One-way media | Firewall / ICE — try iceTransportPolicy: 'relay' with working TURN |
| No ring in background | Console push credentials + registerPushToken + OS permissions |
| JS incoming flashes after native Accept | Call drainNativeIncomingAction() then syncPendingCalls() on AppState active |
| Accept “does nothing” on tap | By design — swipe up on the green control |
| Duplicate native + JS incoming | setNativeIncomingSuppressed(true) while in-app calling UI is mounted |
| iOS simulator CallKit crash | Do not enable CallKeep / CallKit paths that disallow simulator |
Still stuck?
Contact support with:
- App ID / project id
- Platform + OS version
@alaznah/callingversion- Foreground vs background scenario
- Relevant logs (no secrets)