Rate this page:

VICallDelegate

Delegate that may be used to handle call events.

Methods

call:didAddEndpoint:

Optional
Copy URL
- (

void

)call:(

VICall *

)call
didAddEndpoint:(

VIEndpoint *

)endpoint

Invoked after endpoint is added to the call.

Parameters

Returns

  • type:

    void

call:didAddLocalVideoStream:

Optional
Copy URL
- (

void

)call:(

VICall *

)call
didAddLocalVideoStream:(

VILocalVideoStream *

)videoStream

Triggered when local video stream is added to the call. The event is triggered on the main thread.

Parameters

  • call:

    VICall *

    Call that triggered the event.

  • videoStream:

    VILocalVideoStream *

    Local video stream that is added to the call.

Returns

  • type:

    void

call:didConnectWithHeaders:

Optional
Copy URL
- (

void

)call:(

VICall *

)call
didConnectWithHeaders:(

nullable NSDictionary *

)headers

Triggered after call was successfully connected.

Parameters

  • call:

    VICall *

    Call that triggered the event.

  • headers:

    nullable NSDictionary *

    Optional headers passed with event.

Returns

  • type:

    void

call:didDisconnectWithHeaders:answeredElsewhere:

Optional
Copy URL
- (

void

)call:(

VICall *

)call
didDisconnectWithHeaders:(

nullable NSDictionary *

)headers
answeredElsewhere:(

NSNumber *

)answeredElsewhere

Triggered after the call was disconnected.

Parameters

  • call:

    VICall *

    Call that triggered the event.

  • headers:

    nullable NSDictionary *

    Optional headers passed with event.

  • answeredElsewhere:

    NSNumber *

    YES if call was answered on another device.

Returns

  • type:

    void

call:didFailWithError:headers:

Optional
Copy URL
- (

void

)call:(

VICall *

)call
didFailWithError:(

NSError *

)error
headers:(

nullable NSDictionary *

)headers

Triggered if the call is failed.

Parameters

  • call:

    VICall *

    Call that triggered the event.

  • error:

    NSError *

    Error that contains status code and status message of the call failure. See VICallFailErrorCode for possible reasons.

  • headers:

    nullable NSDictionary *

    Optional headers passed with event.

Returns

  • type:

    void

call:didReceiveInfo:type:headers:

Optional
Copy URL
- (

void

)call:(

VICall *

)call
didReceiveInfo:(

NSString *

)body
type:(

NSString *

)type
headers:(

nullable NSDictionary *

)headers

Triggered when INFO message is received within the call.

Parameters

  • call:

    VICall *

    Call that triggered the event.

  • body:

    NSString *

    Body of INFO message.

  • type:

    NSString *

    MIME type of INFO message.

  • headers:

    nullable NSDictionary *

    Optional headers passed with event.

Returns

  • type:

    void

call:didReceiveMessage:headers:

Optional
Copy URL
- (

void

)call:(

VICall *

)call
didReceiveMessage:(

NSString *

)message
headers:(

nullable NSDictionary *

)headers

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

Parameters

  • call:

    VICall *

    Call that triggered the event.

  • message:

    NSString *

    Content of the message.

  • headers:

    nullable NSDictionary *

    Optional headers passed with event.

Returns

  • type:

    void

call:didReceiveStatistics:

Optional
Copy URL
- (

void

)call:(

VICall *

)call
didReceiveStatistics:(

VICallStats *

)stat

Triggered when call statistics are available for the call.

Parameters

Returns

  • type:

    void

callDidReconnect:

Optional
Copy URL
- (

void

)callDidReconnect:(

VICall *

)call

Triggered if the connection to the Voximplant Cloud is restored and media stream are active in the call.

Parameters

  • call:

    VICall *

    Call that triggered the event.

Returns

  • type:

    void

call:didRemoveLocalVideoStream:

Optional
Copy URL
- (

void

)call:(

VICall *

)call
didRemoveLocalVideoStream:(

VILocalVideoStream *

)videoStream

Triggered when local video stream is removed from the call. The event is triggered on the main thread.

Parameters

  • call:

    VICall *

    Call that triggered the event.

  • videoStream:

    VILocalVideoStream *

    Local video stream that is removed from the call.

Returns

  • type:

    void

callDidStartAudio:

Optional
Copy URL
- (

void

)callDidStartAudio:(

VICall *

)call

Triggered when audio subsystem is initialized and ready to start audio within the call. You should stop playing progress tone when event is received.

Parameters

  • call:

    VICall *

    Call that triggered the event.

Returns

  • type:

    void

callDidStartReconnecting:

Optional
Copy URL
- (

void

)callDidStartReconnecting:(

VICall *

)call

Triggered if the connection to the Voximplant Cloud is lost due to a network issue and media streams may be interrupted in the call.

Once the connection to the Voximplant Cloud is restored and media streams are active, [VICallDelegate callDidReconnect:] event will be invoked.

Until [VICallDelegate callDidReconnect:] event is invoked, the following API calls will fail with VICallErrorCodeReconnecting error:

  1. [VICall setSendVideo:completion:]
  2. [VICall startReceiveVideoWithCompletion:]
  3. [VICall setHold:completion:]
  4. [VICall startInAppScreenSharing:]

Until [VICallDelegate callDidReconnect:] event is invoked, the following events will not be invoked:

  1. [VICallDelegate call:didReceiveStatistics:]
  2. any events from VIQualityIssueDelegate

While the call is reconnecting, all previously detected quality issues (if any) are reset and their VIQualityIssueLevel is set to VIQualityIssueLevelNone

Parameters

  • call:

    VICall *

    Call that triggered the event.

Returns

  • type:

    void

call:startRingingWithHeaders:

Optional
Copy URL
- (

void

)call:(

VICall *

)call
startRingingWithHeaders:(

nullable NSDictionary *

)headers

Triggered if the call is ringing. You should start playing call progress tone now.

Parameters

  • call:

    VICall *

    Call that triggered the event.

  • headers:

    nullable NSDictionary *

    Optional headers passed with event.

Returns

  • type:

    void

iceCompleteForCall:

Optional
Copy URL
- (

void

)iceCompleteForCall:(

VICall *

)call

Triggered when ICE connection is complete.

Parameters

  • call:

    VICall *

    Call that triggered the event.

Returns

  • type:

    void

iceTimeoutForCall:

Optional
Copy URL
- (

void

)iceTimeoutForCall:(

VICall *

)call

Triggered if connection was not established due to network connection problem between 2 peers.

Parameters

  • call:

    VICall *

    Call that triggered the event.

Returns

  • type:

    void