Skip to content

glt3953/UsingCallKitToCreateVoIPApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Using CallKit to create a VoIP app

Speakerbox: Using CallKit to create a VoIP app https://developer.apple.com/library/content/samplecode/Speakerbox/Introduction/Intro.html#//apple_ref/doc/uid/TP40017290-Intro-DontLinkElementID_2

Speakerbox: Using CallKit to create a VoIP app

This sample app demonstrates how to use CallKit.framework in a VoIP app to allow it to integrate natively into the system.

Requirements

Build

Xcode 9.0 or later; iOS 11.0 SDK or later

Runtime

iOS 11.0 or later

About Speakerbox

Speakerbox is an example VoIP app which uses CallKit.framework to make and receive calls. It demonstrates several key areas:

  • Creating a CXProvider and setting its delegate, in order to perform call actions in response to delegate callbacks. For example, the app's ProviderDelegate implements -provider:performAnswerCallAction: to handle answering an incoming call.
  • Calling CXProvider API to provide updates to call metadata (using the CXCallUpdate class) and call lifecycle (using the various report… methods). For example, the app calls CXProvider.reportOutgoingCall(with:connectedAtDate:) to notify the system when an outgoing call has connected.
  • Creating a CXCallController in order to request transactions in response to user interactions in the app. For example, to start an outgoing call, the app calls CXCallController.request(_:) to request a CXTransaction containing a CXStartCallAction.
  • Registering an app's CXProviderConfiguration, in order to configure certain behaviors of the app. For example, the app sets maximumCallsPerCallGroup to 1 to indicate that calls may not be grouped together.
  • Handling call audio, including the correct points to configure the app's AVAudioSession versus starting call audio media. See configureAudioSession(), startAudio(), and stopAudio().
  • Starting an outgoing call in response to an INStartAudioCallIntent, including introspecting the INInteraction and NSUserActivity which contain the intent.

Copyright (C) 2017 Apple Inc. All rights reserved.

About

Speakerbox: Using CallKit to create a VoIP app

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published