RtccCall Class Reference

Inherits from NSObject
Declared in RtccCall.h

Overview

Represents a call to a contact or a conference. Such an object is created using [Rtcc createCall:].

Remark regarding video capture: when the device is held in a non supported rotation, the monitoring view of the outgoing video is rotated to indicate that the rotation is not supported, though the outgoing video is sent correctly rotated.

Call parameters

  delegate

The host app should set this value if it wants to be notified about call changes.

@property (nonatomic, strong) id<RtccCallDelegate> delegate
Availability

5.0

Declared In

RtccCall.h

  callid

The ID of the call.

Not really used for now since only one call can be held at a time.

@property (nonatomic, readonly) int callid
Availability

5.0

Declared In

RtccCall.h

  callDuration

This is the duration of this call, in seconds.

Not KVO, as it is updated only when the value is requested.

@property (nonatomic, readonly) NSTimeInterval callDuration
Availability

5.1

Declared In

RtccCall.h

  startDate

Date of call start.

@property (nonatomic, readonly) NSDate *startDate
Availability

5.1

Declared In

RtccCall.h

  contactUID

ID of the contact or the conference being called.

@property (nonatomic, readonly) NSString *contactUID
Availability

5.0

Declared In

RtccCall.h

  contactDisplayName

Display name of the contact or conference being called.

If this name is not set, a call to this variable returns the same value as [RtccCall contactUID]. The only way to set this variable is on call creation through [Rtcc createCall:andSetDisplayName:]

@property (nonatomic, readonly) NSString *contactDisplayName
Availability

5.0

Declared In

RtccCall.h

  sipID

The sip ID of the call. This property is only available after the call is set to active.

Fetching it before the [RtccCallDelegate rtccCall:sipID:] callback is fired will return nil. Fetching it with a callstatus different from callStatus_active, callStatus_paused or callStatus_ended will return nil.

@property (nonatomic, readonly, getter=getSipID) NSString *sipID
Availability

5.2

Declared In

RtccCall.h

Call Status

  callStatus

Status of the call

Upon change, [RtccCallDelegate rtccCall:callStatus:] is called.

@property (nonatomic, readonly) callStatus_t callStatus
Availability

5.0

Declared In

RtccCall.h

  audioRoute

Value changes after a [RtccCall toggleAudioRoute].

Upon change, [RtccCallDelegate rtccCall:audioRoute:] is called.

@property (nonatomic) audioRoute_t audioRoute
Availability

5.0 - modified 5.5

Declared In

RtccCall.h

  receivingVideo

Whether or not the call is receiving video.

This property changes when the video stream is started/ended on the other end. Upon change, [RtccCallDelegate rtccCall:videoReceiving:] is called.

@property (nonatomic, readonly, getter=isReceivingVideo) BOOL receivingVideo
Availability

5.0

Declared In

RtccCall.h

  receivingShare

Whether or not the call has an outbound view share ongoing.

This property changes when the share starts. Upon change, [RtccCallDelegate rtccCall:shareReceiving:] is called.

@property (nonatomic, readonly, getter=isReceivingShare) BOOL receivingShare
Availability

5.1

Declared In

RtccCall.h

  sendingShare

Whether or not the call has an outbound view share ongoing.

This property changes when the network acknowledge the share is ongoing. Upon change, [RtccCallDelegate rtccCall:shareSending:] is called.

@property (nonatomic, readonly, getter=isSendingShare) BOOL sendingShare
Availability

5.1

Declared In

RtccCall.h

  sendingAudio

Whether or not the call is sending captured audio packet.

This property changes when the network acknowledge the microphone status change on this end. Upon change, [RtccCallDelegate rtccCall:audioSending:] is called.

@property (nonatomic, readonly, getter=isSendingAudio) BOOL sendingAudio
Availability

5.0

Declared In

RtccCall.h

Videos & Share Screens

  viewShareIn

The view in wich the call should display the incoming share.

Set by the host application.

@property (nonatomic, weak) UIView *viewShareIn
Availability

5.1

Declared In

RtccCall.h

  viewShareOut

The view in wich the call should display the outgoing share.

Set by the host application.

@property (nonatomic, weak) UIView *viewShareOut
Availability

5.3

Declared In

RtccCall.h

  viewVideoIn

The view in wich the call should display the incoming video.

Set by the host application.

@property (nonatomic, weak) UIView *viewVideoIn
Availability

5.0

Declared In

RtccCall.h

– setVideoInProfile:

Ask the remote to change the quality of the video it sends. The remote is not compelled to do so.

- (void)setVideoInProfile:(VideoProfile_t)videoProfile
Parameters
videoProfile

The wanted profile

Declared In

RtccCall.h

  videoOut

Module to deal with VideoOut.

@property (nonatomic, readonly) RtccVideoOut *videoOut
Discussion

Module to deal with VideoOut.

Declared In

RtccCall.h

  shareOut

Module dealing with the share out.

@property (nonatomic, readonly) RtccShareOut *shareOut
Discussion

Module dealing with the share out.

Declared In

RtccCall.h

Conference Call

  isConference

Answers the question “Is this call a conference?”.

@property (nonatomic, readonly) BOOL isConference
Availability

5.3

Declared In

RtccCall.h

  participantsDictionary

The list of participants in the call, own user excluded.

This dictionary is composed of couples <NSNumber *, RtccContact *>, where the NSNumber * indicates the contact’s location in the floorlist.

The logged user (a.k.a. myself) is not represented in this array.

@property (nonatomic, readonly) NSDictionary<NSNumber*RtccContact*> *participantsDictionary
Availability

5.3

Declared In

RtccCall.h

  myself

Only used in case of conference. Not present in the participantsList.

@property (nonatomic, readonly) RtccContact *myself
Availability

5.3

Declared In

RtccCall.h

  isHost

YES if the app is hosting the conference. NO if attendee.

@property (nonatomic, readonly) BOOL isHost
Availability

5.3

Discussion

YES if the app is hosting the conference. NO if attendee.

Declared In

RtccCall.h

  recording

  • YES if the conference is being recorded. The delegate is notified of a change through rtccCallRecordStarted: and rtccCallRecordStopped:
@property (nonatomic, readonly, getter=isRecording) BOOL recording
Discussion
  • YES if the conference is being recorded. The delegate is notified of a change through rtccCallRecordStarted: and rtccCallRecordStopped:
Declared In

RtccCall.h

  recordingPaused

  • YES if the conference is being recorded but this recording is paused. The delegate is notified of a change through rtccCallRecordStarted: and rtccCallRecordStopped:
@property (nonatomic, readonly, getter=isRecordingPaused) BOOL recordingPaused
Discussion
  • YES if the conference is being recorded but this recording is paused. The delegate is notified of a change through rtccCallRecordStarted: and rtccCallRecordStopped:
Declared In

RtccCall.h

  muteAll

Setting this mutes/unmutes all the conference participants.

YES if all contacts are muted. Same as iterating throught the contacts list and checking if everyone is muted.

Setting this to YES sends a global command to the conference bridge.

@property (nonatomic, getter=areAllMuted) BOOL muteAll
Availability

5.3

Declared In

RtccCall.h

  deafenAll

Setting this deafens/undeafens all the conference participants.

YES if all contacts are deaf. Same as iterating throught the contacts list and checking if everyone is deaf.

Setting this to YES sends a global command to the conference bridge.

@property (nonatomic, getter=areAllDeafen) BOOL deafenAll
Availability

5.3

Declared In

RtccCall.h

– getMetrics

Some information about the call quality.

- (RtccMetricsCall *)getMetrics
Return Value

Some information about the call quality.

Declared In

RtccCall.h

– getCallBandwidth:andNQI:

The call stats are computed at the end of the call.

- (BOOL)getCallBandwidth:(NSSet<RTCCStatBandwidth*> **)bdw andNQI:(NSSet<RTCCStatNQI*> **)nqi
Return Value

YES if the stats could be fetched.

Discussion

The call stats are computed at the end of the call.

Declared In

RtccCall.h

Basic Call Controls

– hangup

Hang up the call and stop it

- (void)hangup
Availability

5.0

Declared In

RtccCall.h

– resume

Resume the call if it was paused. Pick it up if it is ringing.

- (void)resume
Availability

5.0

Declared In

RtccCall.h

– resumeWithoutVideo

Pick up a call without activating the outgoing video.

- (void)resumeWithoutVideo
Availability

5.2

Declared In

RtccCall.h

– screenShareStart:

Start the share view and set the view to be shared.

- (void)screenShareStart:(UIView *)view
Parameters
view

This view is NOT retained by the SDK (a.k.a. its reference is kept with a weak property).

Availability

5.1

Discussion

Warning: Not available on iOS version earlier than the 7.0.

Declared In

RtccCall.h

– screenShareStop

Stops the share. If the incoming video stream was active, it is resumed.

- (void)screenShareStop
Availability

5.1

Declared In

RtccCall.h

– audioStart

Start sending audio from the microphone.

While the outgoing audio stream starts automatically upon call start, it is possible to mute the microphone, thus sending only empty frames. This function starts the sending of captured audio packet.

Upon change, [RtccCallDelegate rtccCall:audioSending:] is called.

- (void)audioStart
Availability

5.0

Declared In

RtccCall.h

– audioStop

Stop sending audio from the microphone.

The function stops the sending of captured audio packet. Enpty audio frames are sent instead.

Upon change, [RtccCallDelegate rtccCall:audioSending:] is called.

- (void)audioStop
Availability

5.0

Declared In

RtccCall.h

Video and Share Streams

– getVideoInSize

Returns the incoming video size. Use it to resize [RtccCall viewVideoIn].

- (CGSize)getVideoInSize
Return Value

The size of the video.

Availability

5.2

Declared In

RtccCall.h

– getShareInSize

Returns the incoming share size. Use it to resize [RtccCall viewShareIn].

- (CGSize)getShareInSize
Return Value

The size of the video.

Availability

5.1

Declared In

RtccCall.h

Inband Messages

– sendData:

Send raw data to the call recipient. Could be anything.

- (void)sendData:(NSData *)data
Parameters
data

The data to send.

Availability

5.3

Discussion

Send raw data to the call recipient. Could be anything.

Declared In

RtccCall.h

Conference Controls

– kickParticipant:

Kicks a participant out of the call. Only an admin can call this method and be obeyed.

- (void)kickParticipant:(NSNumber *)participantID
Parameters
participantID

The ID of the participant to kick out.

Availability

5.3

Declared In

RtccCall.h

– recordingStartWithID:andType:

Start a recording with an ID.

- (void)recordingStartWithID:(NSString *)recordingID andType:(recordingType_t)type
Discussion

Start a recording with an ID.

Declared In

RtccCall.h

– recordingPause

Pause the recording. Conference calls only.

- (void)recordingPause
Availability

5.3

Declared In

RtccCall.h

– recordingResume

Resume the recording. Conference calls only.

- (void)recordingResume
Declared In

RtccCall.h

– recordingStop

Stop the recording. Conference calls only.

- (void)recordingStop
Availability

5.3

Declared In

RtccCall.h

– recordingBookmark

Create a bookmark in a recording. Conference calls only.

- (void)recordingBookmark
Availability

5.3

Declared In

RtccCall.h

– setThumbnailsOnly:

Use this method to disable/enable the full quality main speaker video stream. Conference calls only.

- (void)setThumbnailsOnly:(BOOL)onlyThumbnails
Parameters
onlyThumbnails

If set to YES, only the thumbnails of the videos will be received for the conference.

Availability

5.6

Declared In

RtccCall.h