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:
- (void
)addDelegate:(id<VICallDelegate>
)delegate
Adds a call delegate to handle the call events.
Parameters
delegate:
id<VICallDelegate>
Object registering as a delegate
Returns
type:
void
answerWithSettings:
- (void
)answerWithSettings:()settings
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
- (NSTimeInterval
)duration
Gets a call's duration.
Returns
type:
NSTimeInterval
hangupWithHeaders:
- (void
)hangupWithHeaders:(nullable NSDictionary *
)headers
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
- (NSArray<VIQualityIssueType> *
)qualityIssues
Gets all quality issues types.
Returns
type:
NSArray<VIQualityIssueType> *
rejectWithMode:headers:
- (void
)rejectWithMode:()mode
headers:(nullable NSDictionary *
)headers
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:
- (void
)removeDelegate:(id<VICallDelegate>
)delegate
Removes the previously added delegate.
Parameters
delegate:
id<VICallDelegate>
Previously added delegate
Returns
type:
void
sendDTMF:
- (BOOL
)sendDTMF:(NSString *
)dtmf
Sends a DTMF within a call.
Parameters
dtmf:
NSString *
DTMFs
Returns
type:
BOOL
sendInfo:mimeType:headers:
- (void
)sendInfo:(NSString *
)body
mimeType:(NSString *
)mimeType
headers:(nullable NSDictionary *
)headers
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:
- (void
)sendMessage:(NSString *
)message
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:
- (void
)setHold:(BOOL
)hold
completion:(nullable VICompletionBlock
)completion
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:
- (void
)setSendVideo:(BOOL
)video
completion:(nullable VICompletionBlock
)completion
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
- (void
)start
Starts an outgoing call.
Returns
type:
void
startInAppScreenSharing:
- (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" 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:
- (void
)startReceiveVideoWithCompletion:(nullable VICompletionBlock
)completion
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
@property (strong, readonly, nonatomic) NSString *
callId
Call's ID.
Returns
type:
NSString *
callKitUUID
@property (strong, nullable, nonatomic) NSUUID *
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
@property (strong, readonly, nonatomic) NSArray<VIEndpoint *> *
endpoints
Array of the endpoints associated with a call.
Returns
type:
NSArray<VIEndpoint *> *
localVideoStreams
@property (strong, readonly, nonatomic) NSArray<VILocalVideoStream *> *
localVideoStreams
Local video streams associated with the call.
Returns
type:
NSArray<VILocalVideoStream *> *
qualityIssueDelegate
@property (weak, nullable, nonatomic) qualityIssueDelegate
Sets VIQualityIssueDelegate to monitor issues that affect the call quality.
Returns
type:
sendAudio
@property (assign, nonatomic) BOOL
sendAudio
Whether to transfer audio from the microphone into a call.
Setting this property enables or disables audio transfer.
Returns
type:
BOOL
videoEnabled
@property (assign, readonly, nonatomic, getter = isVideoEnabled) BOOL
videoEnabled
Whether video is enabled in a call.
Returns
type:
BOOL
videoSource
@property (strong, nullable, nonatomic) 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: