VoxImplant iOS SDK lets you embed voice communication into your native iOS applications. Start by downloading one of our demo applications:
pod installshell command
You can make and receive calls using your device’s data connection to/from any other endpoint that works with VoxImplant: other mobile app built using VoxImplant Mobile SDK, web application built using the Web SDK, SIP phones and phone numbers all over the world.
$ touch Podfile
platform :ios, '8.0'
Create an interface that conforms to the VoxImplantDelegate and invoke the following sequence:
[[VoxImplant getInstance] setVoxDelegate:yourDelegate];
This delegate will later receive all events from SDK, for example ones related to the connection itself, login status, calls and audio status.
It's the same as using WebSDK: you need to connect to cloud
[[VoxImplant getInstance] connect];
As a result message onConnectionSuccessful or onConnectionFailedWithError will be sent to your delegate.
After connection is established, use login function to authenticate. For example, when you need to login user myuser to applcation myapp in your VoxImplant account named myaccount with password mypass
[[VoxImplant getInstance] loginWithUsername:@"email@example.com" andPassword:@"mypass"];
As a result onLoginSuccessfulWithDisplayName: or onLoginFailedWithErrorCode: message will be sent to your delegate
To make an outbound call you need to run following code sequence:
Please note that call is actually initiated only when you call
[sdk startCall: withHeaders:]
When application receives incoming call, onIncomingCall:From:Named:withHeaders: message is sent to your delegate. If you need to answer call, you need to use following code:
Audio interruption happens when an incoming call to iPhone arrives. If user answers call, application will be suspended and most likely will be disconnected from server because of timeout.
When audio interruption begins and ends, onAudioInterruptionBegan and onAudioInterruptionEnded messages are sent to delegate. Please note that after interruption ends, speakerphone and mute are disabled, so you need to reflect that in your interface or re-enable them manually.
For more information, please read our reference documentation.