Enablex iOS Calling UI Framework is built on top of Callkit API that provides a native telecom UI interface for iOS users or simulates similar experience for App to App calling.

Release Date: June 15, 2022

Table of Contents

Overview

EnableX introduces a Calling UI Framework for iOS Native App Developers to simply or minimize your Coding effort to integrate the Call-kit interface. Using Enablex Calling UI Framework, you can enable App-to–App calling feature in less than 5 minutes of effort with EnableX UIKit Framework.

Note that EnableX UIKit Framework, built on top of UIkit; is another powerful framework using which you can create Audio/Video UI in few lines of code. Know more…

Pre-requisites

Here are the pre-requisites for enabling Enablex Calling UI Framework in your existing application:

  • Application must have enabled VoIP feature in background mode.
  • You need to integrate your own Notification Service, as Enablex doesn’t provide any.

How to integrate in IOS Native App?

For Calling UI Framework integration in iOS, follow the given steps below:

  • Install Enx_CallKit_iOS framerork either through pod or manually. To install through pod, open terminal and go to your project directory.
cd /path-to/project-dir/
pod install
  • Open your App.
  • Go to the class where you receive push notification.
  • Import the library.
import Enx_CallKit_iOS
  • Create an object of EnxCallKit class.
var callManager = EnxCallKit(self) 
// self: Sets the the callback delegate
  • On receiving notificatIon, call APIs.
let backGroundTaskIndet = UIApplication.shared.beginBackgroundTask(expirationHandler: nil) 
callManager.reportIncomingCall(uuid: UUID(), callerName: "Caller Name", hasVideo: true) { 
	_in UIApplication.shared.endBackgroundTask(backGroundTaskIndet)
}  
  • Add background task before loading the Calling UI.
  • End the background task once Calling UI is loaded.
  • To end call, use the following method. This will close Call-kit UI.
callManager.endCall()

List of Callbacks

You need to make use of the following call backs to create create user-experience:

  • func callAnswer(): When you receive incoming call
  • func callReject(): When you reject incoming call
  • func callTimeOut(): When you didn’t respond to incoming call notification, it times out in 45 seconds.
  • func callEnd(): When you ended the call
  • func callHold(): When you keep the call on hold