Our application uses Xamarin Forms, wich behaves differently like your sample app. We have created an AndroidBindings android project (and also iOS) wich wraps the SDK functionnality. We use dependency service, to register the current platform implementation for it. On a certain screen of the app, ViewModel gets the platform specific implementation from dependency service, and ensures the connection between the VOIP server, and the SDK. When the application is in foreground, we can make calls, receive calls, hang up etc. I also understand, that we need to send a push notification for the devices. We are currently working with push notifications, using a C# backend of FCM, and Plugin.FirebasePushNotification NuGet on the client side. This pair is working fine for normal push notifications. I'm trying to figure out, how to start the app, to start communication even if it is in terminated state. I have already noticed, that iOS is not allowing us to fire up the application and bring it to front, thats why I am informed, that CallKit is necessary, but it does not combine in my head, how to pass the information for your SDK from the push notification. The other unknown scenario is, how CallKit will build up the connection between the app and the VOIP server. Also do not understand how Android will handle this notification. From version Q, Android disabled the option to bring activities to front.