I'm building a React Native VoIP app that uses react-native-callkeep to integrate the native call handling UI. For iOS it uses CallKit, and in the case of inbound calls when the app is running in the background or the screen is locked, the native UI pops up as expected and the user can interact with that UI to control the call.
However, in the case of outgoing calls the native UI never shows up. A bit of searching shows contradicting information regarding intended behavior here. The following state that this is expected behavior, and that your app needs to build the UI for outgoing calls:
- CallKit - How to bring the CXCallController to the front
- https://github.com/react-native-webrtc/react-native-callkit/issues/13
While these CallKit examples show outbound calls using the system UI:
- https://agostini.tech/2019/06/16/intro-to-callkit/
- https://medium.com/swlh/the-absolute-basics-of-ios-callkit-send-receive-a-call-1c2700e13f14
- https://www.slideshare.net/GuillaumeBerthier2/manage-your-calls-with-callkit
Am I misunderstanding something fundamental here, or is there possibly an issue related to react-native?