In CallKit, apps can interact with two different types of interfaces:
Most VoIP apps use a combination of both.
CallKit allows communication apps to integrate with the native iOS telephony experience while still optionally maintaining custom in-app call screens.
This creates two UI layers:
System UI
managed by iOS
Custom UI
managed by your app
The system call UI is:
the native iOS call interface controlled by CallKit.
Examples: