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
)durationGets 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> *
)qualityIssuesGets 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
)startStarts 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 *
callIdCall's ID.
Returns
type:
NSString *
callKitUUID
@property (strong, nullable, nonatomic) NSUUID *
callKitUUIDCallKit 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 *> *
endpointsArray of the endpoints associated with a call.
Returns
type:
NSArray<VIEndpoint *> *
localVideoStreams
@property (strong, readonly, nonatomic) NSArray<VILocalVideoStream *> *
localVideoStreamsLocal video streams associated with the call.
Returns
type:
NSArray<VILocalVideoStream *> *
qualityIssueDelegate
@property (weak, nullable, nonatomic) qualityIssueDelegateSets VIQualityIssueDelegate to monitor issues that affect the call quality.
Returns
type:
sendAudio
@property (assign, nonatomic) BOOL
sendAudioWhether 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
videoEnabledWhether video is enabled in a call.
Returns
type:
BOOL
videoSource
@property (strong, nullable, nonatomic) videoSourceVideo 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: