4

I'm new to Apples callKit and Pushkit. i'm using OpenTok in my application for video and audio call handling. To handle native like calling in my app i'm using VOIP with callkit . Audio native call is working fine, When user interacts with the native UI of callkit it goes to background the application gets to foreground. Has i looked into speaker box of apple documentation about call kit. It has some Intent handlers to handle calls

Please can anyone Help me out of by giving any idea about handling video and audio calls natively Thanks in advance..

Abhishek Jain
  • 4,557
  • 2
  • 32
  • 31
Kalikanth040494
  • 452
  • 5
  • 15

2 Answers2

0

I'm doing the same with OpenTok. As far as I'm aware you can't handle video calls natively from the lock screen, however you can use OpenTok with CallKit for just audio. See this link

Tometoyou
  • 7,792
  • 12
  • 62
  • 108
  • Thankyou! I have implemented the same. Audio call is working but audio is not clear.If possible can you please share me how you have done.When did you activate the audio for call – Kalikanth040494 Dec 16 '17 at 11:39
  • Actually I haven't used CallKit, I'm just doing video, but maybe it could be your internet making the quality unclear? It's hard to say – Tometoyou Dec 17 '17 at 11:16
  • I'm using react-native-twilio-webrtc with callkeep to handle callkit for video calling. It works fine so far but creates issue while ios device is locked. any idea to handle it while device is in lock state? – Jaydeep Patel Sep 19 '19 at 06:51
0

CallKit have a property supportsVideo of CXProviderConfiguration and one property hasVideo of CXHandle. It's working fine for me. Check this below demo link.

https://websitebeaver.com/callkit-swift-tutorial-super-easy

func setupVdeoCall() {
        let config = CXProviderConfiguration(localizedName: "My App")
        config.iconTemplateImageData = UIImagePNGRepresentation(UIImage(named: "pizza")!)
        config.ringtoneSound = "ringtone.caf"
        config.includesCallsInRecents = false;
        config.supportsVideo = true;
        let provider = CXProvider(configuration: config)
        provider.setDelegate(self, queue: nil)
        let update = CXCallUpdate()
        update.remoteHandle = CXHandle(type: .generic, value: "Pete Za")
        update.hasVideo = true
        provider.reportNewIncomingCall(with: UUID(), update: update, completion: { error in })
    }
vipinsaini0
  • 541
  • 1
  • 7
  • 26