General questions about CallKit

Hi,


I didn't see a CallKit forum so I hope it's OK to post this here.


The app I'm working on provides video and audio communication between users of the app. Currently, we do not implement CallKit. When one user places a call to another user, we use regular push notifications to notify the other person, and make the connection over our own server if the user responds to the notification and opens the app.


The incoming call notification is the weak point in the app: it is easy to miss and difficult to respond to. We want to improve this by making the incoming call "ring" like a regular telephone call. It would also be nice, but not critical, if we could keep calls active in the background with the green banner like a regular phone call. Beyond that, we don't need or want to integrate with anything else in iOS. We don't need to have our calls show up in call logs, or use the iOS contacts, we don't need any UI from iOS, and we don't want to "integrate" with other calling apps, etc.


Is CallKit the right tool for this?


I tried reading a CallKit tutorial but it was extremely confusing and didn't even address the issue of how the app gets alerted to incoming calls.


Thanks,

Frank

Replies

Is CallKit the right tool for this?

Probably not. CallKit is all about system integration. It provides no additional facilities for ring indication or background execution. VoIP apps are expected to do those things via other means:

  • PushKit for ring indication (VoIP apps can use high-priority silent push notifications)

  • The

    audio
    background mode for indefinite execution in the background

I tried reading a CallKit tutorial but it was extremely confusing and didn't even address the issue of how the app gets alerted to incoming calls.

Right. That’s because CallKit doesn’t help with this. A VoIP would typically use a high-priority silent push notification to resume (or relaunch) in the background, at which point it then calls CallKit to display the system ring UI.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Ok thanks. We're already sending a push notification. I understand how that works now and it won't be a problem.


Our biggest concern is that we are a video calling app. We want our video to appear when the user answers the call, not the default phone interface. How does video calling work with CallKit? I saw a brief mention of it, and see that there is a flag you can set for video calls, but I didn't see any further explanation or examples.


Thanks,

Frank

How does video calling work with CallKit?

I don’t know, alas. If no one else chimes in I recommend that you open a DTS tech support incident so you can discuss this with DTS’s CallKit expert.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"