SIGN UP

VICallDelegate

Delegate that may be used to handle call events.

Methods

- (void)call:(VICall *)call
    didAddEndpoint:(VIEndpoint *)endpoint

Invoked after endpoint is removed from the call. Event is not triggered on call end.

Parameters

- (void)call:(VICall *)call
    didAddLocalVideoStream:(VIVideoStream *)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:

    VIVideoStream *

    Local video stream that is added to the call.

- (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.

- (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.

- (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.

- (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.

- (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.

- (void)call:(VICall *)call
    didReceiveStatistics:(VICallStat *)stat

Triggered when call statistics are available for the call.

Parameters

- (void)call:(VICall *)call
    didRemoveLocalVideoStream:(VIVideoStream *)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:

    VIVideoStream *

    Local video stream that is removed to the call.

- (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.

- (void)callDidStartAudio:(VICall *)call

Triggered after audio is started in the call. You should stop playing progress tone when event is received.

Parameters

  • call:

    VICall *

    Call that triggered the event.

- (void)iceCompleteForCall:(VICall *)call

Triggered when ICE connection is complete.

Parameters

  • call:

    VICall *

    Call that triggered the event.

- (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.