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: