Rate this page:

VICall

Interface that may be used for call operations like answer, reject, hang up and mid-call operations like hold, start/stop video and others.

Methods

addDelegate:

Copy URL
- (

void

)addDelegate:(

id<VICallDelegate>

)delegate

Add call delegate to handle call events.

Parameters

Returns

  • type:

    void

answerWithSettings:

Copy URL
- (

void

)answerWithSettings:(

VICallSettings *

)settings

Answer incoming call.

Parameters

  • settings:

    VICallSettings *

    Call settings with additional call parameters, such as preferred video codec, custom data, extra headers etc.

Returns

  • type:

    void

duration

Copy URL
- (

NSTimeInterval

)duration

Get the call duration.

Returns

  • type:

    NSTimeInterval

hangupWithHeaders:

Copy URL
- (

void

)hangupWithHeaders:(

nullable NSDictionary *

)headers

Terminates call. Call should be either established or outgoing progressing.

Parameters

  • headers:

    nullable NSDictionary *

    Optional set of headers to be sent with message. Names must begin with "X-" to be processed by SDK.

Returns

  • type:

    void

issueLevelForType:

Copy URL
- (

VIQualityIssueLevel

)issueLevelForType:(

VIQualityIssueType

)type

Get current level of specific quality issue.

Parameters

qualityIssues

Copy URL
- (

NSArray<VIQualityIssueType> *

)qualityIssues

Get all quality issues types.

Returns

rejectWithMode:headers:

Copy URL
- (

void

)rejectWithMode:(

VIRejectMode

)mode
headers:(

nullable NSDictionary *

)headers

Reject incoming call.

Parameters

  • Specify mode of call rejection.

  • headers:

    nullable NSDictionary *

    Optional set of headers to be sent with message. Names must begin with "X-" to be processed by SDK.

Returns

  • type:

    void

removeDelegate:

Copy URL
- (

void

)removeDelegate:(

id<VICallDelegate>

)delegate

Remove previously added delegate.

Parameters

Returns

  • type:

    void

sendDTMF:

Copy URL
- (

BOOL

)sendDTMF:(

NSString *

)dtmf

Send DTMF within the call.

Parameters

  • dtmf:

    NSString *

    DTMFs.

Returns

  • type:

    BOOL

sendInfo:mimeType:headers:

Copy URL
- (

void

)sendInfo:(

NSString *

)body
mimeType:(

NSString *

)mimeType
headers:(

nullable NSDictionary *

)headers

Send INFO message within the call.

Parameters

  • body:

    NSString *

    Custom string data.

  • mimeType:

    NSString *

    MIME type of info.

  • headers:

    nullable NSDictionary *

    Optional set of headers to be sent with message. Names must begin with "X-" to be processed by SDK

Returns

  • type:

    void

sendMessage:

Copy URL
- (

void

)sendMessage:(

NSString *

)message

Send message within the call. Implemented atop SIP INFO for communication between call endpoint and Voximplant cloud, and is separated from Voximplant messaging API.

Parameters

  • message:

    NSString *

    Message text.

Returns

  • type:

    void

setHold:completion:

Copy URL
- (

void

)setHold:(

BOOL

)hold
completion:(

nullable VICompletionBlock

)completion

Hold or unhold the call.

Parameters

  • hold:

    BOOL

    YES if the call should be put on hold, NO for unhold.

  • completion:

    nullable VICompletionBlock

    Completion block to handle the result of the operation.

Returns

  • type:

    void

setSendVideo:completion:

Copy URL
- (

void

)setSendVideo:(

BOOL

)video
completion:(

nullable VICompletionBlock

)completion

Start or stop sending video for the call.

Parameters

  • video:

    BOOL

    YES if video should be sent, NO otherwise.

  • completion:

    nullable VICompletionBlock

    Completion block to handle the result of the operation.

Returns

  • type:

    void

start

Copy URL
- (

void

)start

Start outgoing call.

Returns

  • type:

    void

startInAppScreenSharing:

Copy URL
- (

void

)startInAppScreenSharing:(

nullable VICompletionBlock

)completion

Starts in-app screen sharing.

Note that before recording actually starts, the user may be prompted with UI to confirm recording.

Captures screen only inside the application. Simulator is not supported.

Use [VICall setSendVideo:completion:] method with "sendVideo" variable "YES" value to return to the default capture mode (camera or custom camera mode).

Use [VICall setSendVideo:completion:] method with "sendVideo" variable "NO" value to stop screen capturing.

Video of the screen is sent in HD quality (720p).

Parameters

  • completion:

    nullable VICompletionBlock

    Completion block to handle the result of the operation.

Returns

  • type:

    void

startReceiveVideoWithCompletion:

Copy URL
- (

void

)startReceiveVideoWithCompletion:(

nullable VICompletionBlock

)completion

Start receive video if video receive was not enabled before. Stop receiving video during the call is not supported.

Parameters

  • completion:

    nullable VICompletionBlock

    Completion block to handle the result of operation.

Returns

  • type:

    void

Props

callId

Copy URL
@property (strong, readonly, nonatomic) 

NSString *

callId

The call id.

Returns

  • type:

    NSString *

callKitUUID

Copy URL
@property (strong, nullable, nonatomic) 

NSUUID *

callKitUUID

The CallKit UUID that may be used to match an incoming call with a push notification received before.

Always nil for outgoing calls on VICall instance creation.

For outgoing calls it is recommended to set CXStartCallAction.callUUID value to this property on handling CXStartCallAction

Returns

  • type:

    NSUUID *

endpoints

Copy URL
@property (strong, readonly, nonatomic) 

NSArray<VIEndpoint *> *

endpoints

An array of the endpoints associated with the call.

Returns

localVideoStreams

Copy URL
@property (strong, readonly, nonatomic) 

NSArray<VIVideoStream *> *

localVideoStreams

The local video streams associated with the call.

Returns

qualityIssueDelegate

Copy URL
@property (weak, nullable, nonatomic) 

id<VIQualityIssueDelegate>

qualityIssueDelegate

Set VIQualityIssueDelegate to monitor issues that affect call quality.

Returns

sendAudio

Copy URL
@property (assign, nonatomic) 

BOOL

sendAudio

A Boolean value that determines whether an audio is transferred from microphone into the call.

Setting this property enables or disables audio transfer.

Returns

  • type:

    BOOL

videoEnabled

Copy URL
@property (assign, readonly, nonatomic, getter = isVideoEnabled) 

BOOL

videoEnabled

A Boolean value that determines whether a video is enabled in the call.

Returns

  • type:

    BOOL

videoSource

Copy URL
@property (strong, nonatomic) 

VIVideoSource *

videoSource

A video source. By default [VICameraManager sharedCameraManager] is used that gets video from back or front camera. Must be set before using [VICall start] and [VICall answerWithSettings:] if needed.

Returns