React Native Callkeep Alternatives in 2026
Article Summary
Paweł Gadomski from Software Mansion just solved one of React Native's messiest problems: getting WhatsApp-style incoming calls to actually work when your app is killed. The solution? Stop treating it as a library problem.
Building native calling in React Native means wrestling with CallKit, Android Telecom, FCM push conflicts, and APIs that weren't designed for cross-platform apps. Software Mansion built native calling directly into their Fishjam WebRTC platform SDK, handling the entire wake-from-killed-to-ringing flow so developers don't have to.
Key Takeaways
- Built on modern Jetpack Core Telecom, not deprecated ConnectionService APIs
- Works with Expo and bare React Native via config plugin
- Handles FCM slot collision by relaying non-call pushes to existing libraries
- Includes hold, mute, redial, CarPlay, and Android Auto out of box
- Complete example app with client and Deno server included
Native calling is now part of Fishjam's React Native SDK with one provider component and one hook, eliminating the manual wiring between call UI libraries and WebRTC stacks.
About This Article
Android apps can only use one FCM service slot, so call pushes and notification library pushes end up competing for the same channel. This causes messages to get lost. Meanwhile, lock-screen timers start counting from the wrong time, and calls drop when you try to answer them.
Software Mansion built native calling directly into Fishjam's React Native SDK. They added a VoIPProvider component and useVoIP hook that handle CallKit and Telecom natively. Non-call FCM messages get routed to expo-notifications, RN Firebase, or custom classes through voipFallbackMessagingService.
Developers can skip the long native setup checklist and just add one app.json config plugin entry on Expo instead. Timeouts are configurable: 45 seconds for missed calls, 60 seconds for outgoing calls, and 10 seconds for stalled media. Hold, mute, redial, CarPlay, and Android Auto all work automatically without extra wiring.