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:
addDelegate:(delegate: id<VICallDelegate>
): void
Adds a call delegate to handle the call events.
Parameters
delegate:
id<VICallDelegate>
Object registering as a delegate
Returns
type:
void
answerWithSettings:
answerWithSettings:(settings: ): void
Answers an incoming call.
Parameters
settings:
Call settings with additional call parameters, such as the preferred video codec, custom data, extra headers etc.
Returns
type:
void
duration
duration(): NSTimeInterval
Gets a call's duration.
Returns
type:
NSTimeInterval
hangupWithHeaders:
hangupWithHeaders:(headers: nullable NSDictionary *
): void
Terminates a call. Call should be either established or dialing.
Parameters
headers:
nullable NSDictionary *
Optional set of headers to be sent with the message. Names must begin with "X-" to be processed by the SDK
Returns
type:
void
issueLevelForType:
issueLevelForType:(type: ): Gets the current level of the specific quality issue.
Parameters
type:
Quality issue type
Returns
type:
qualityIssues
qualityIssues(): NSArray<VIQualityIssueType> *
Gets all quality issues types.
Returns
type:
NSArray<VIQualityIssueType> *
rejectWithMode:headers:
rejectWithMode:headers:(mode: , headers: nullable NSDictionary *
): void
Rejects an incoming call.
Parameters
mode:
Call rejection mode
headers:
nullable NSDictionary *
Optional set of headers to be sent with the message. Names must begin with "X-" to be processed by the SDK
Returns
type:
void
removeDelegate:
removeDelegate:(delegate: id<VICallDelegate>
): void
Removes the previously added delegate.
Parameters
delegate:
id<VICallDelegate>
Previously added delegate
Returns
type:
void
sendDTMF:
sendDTMF:(dtmf: NSString *
): BOOL
Sends a DTMF within a call.
Parameters
dtmf:
NSString *
DTMFs
Returns
type:
BOOL
sendInfo:mimeType:headers:
sendInfo:mimeType:headers:(body: NSString *
, mimeType: NSString *
, headers: nullable NSDictionary *
): void
Sends an INFO message within a call.
Parameters
body:
NSString *
Custom string data
mimeType:
NSString *
MIME type of info
headers:
nullable NSDictionary *
Optional set of headers to be sent with the message. Names must begin with "X-" to be processed by the SDK
Returns
type:
void
sendMessage:
sendMessage:(message: NSString *
): void
Sends a message within a call.
Implemented atop of SIP INFO for communication between the call endpoint and the Voximplant Cloud, and is separated from Voximplant messaging API.
Parameters
message:
NSString *
Message text
Returns
type:
void
setHold:completion:
setHold:completion:(hold: BOOL
, completion: nullable VICompletionBlock
): void
Holds or unholds a call.
Hold functionality is not supported in conference calls. In case of a conference call it returns VICallErrorCodeIncorrectOperation via the completion block.
Parameters
hold:
BOOL
Whether to hold or unhold the call
completion:
nullable VICompletionBlock
Completion block to handle the result of the operation
Returns
type:
void
setSendVideo:completion:
setSendVideo:completion:(video: BOOL
, completion: nullable VICompletionBlock
): void
Starts or stops sending video to the call.
Starting the version 2.34.3 the API behaves the same way for conference and video calls.
For the version 2.34.2 and below for the conference video call mutes or un-mutes sending video (video stream in the 'muted' state still consumes a small bandwidth).
Parameters
video:
BOOL
Whether to send the video to the call
completion:
nullable VICompletionBlock
Completion block to handle the result of the operation
Returns
type:
void
start
start(): void
Starts an outgoing call.
Returns
type:
void
startInAppScreenSharing:
startInAppScreenSharing:(completion: nullable VICompletionBlock
): void
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" parameter "YES" value to return to the default capture mode (camera or custom camera mode). Use [VICall setSendVideo:completion:] method with "sendVideo" parameter "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:
startReceiveVideoWithCompletion:(completion: nullable VICompletionBlock
): void
Starts receiving video if receiving video has not been enabled before. Stopping 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
callId: Call's ID.
Returns
type:
NSString *
callKitUUID
callKitUUID: 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
endpoints: Array of the endpoints associated with a call.
Returns
type:
NSArray<VIEndpoint *> *
localVideoStreams
localVideoStreams: Local video streams associated with the call.
Returns
type:
NSArray<VILocalVideoStream *> *
qualityIssueDelegate
qualityIssueDelegate: Sets VIQualityIssueDelegate to monitor issues that affect the call quality.
Returns
type:
sendAudio
sendAudio: Whether to transfer audio from the microphone into a call.
Setting this property enables or disables audio transfer.
Returns
type:
BOOL
videoEnabled
videoEnabled: Whether video is enabled in a call.
Returns
type:
BOOL
videoSource
videoSource: Video source currently used in the call.
Default value:
- nil for audio calls,
- [VICameraManager sharedCameraManager] is used for video calls.
Must be set before using [VICall start] and [VICall answerWithSettings:] if needed.
Returns
type: