# Call

interface Call

Call object acts as a handler for managing a connection between call participants, accessing details such as start time, state and possible errors. It also allows to attach listeners to be notified about changes in it's lifecycle.

#### See also

CallController

## Properties

callId
Link copied to clipboard
abstract val callId: String

The call identifier.

details
Link copied to clipboard
abstract val details: CallDetails

CallDetails containing information about the call.

direction
Link copied to clipboard
abstract val direction: CallDirection

The CallDirection of the call.

headers
Link copied to clipboard
abstract val headers: Map<String, String>

Call headers.

qualityController
Link copied to clipboard
abstract val qualityController: CallQualityController

The CallQualityController associated with given call.

remoteUserId
Link copied to clipboard
abstract val remoteUserId: String

The identifier of the remote participant of the call.

state
Link copied to clipboard
abstract val state: CallState

The CallState the call is currently in.

## Functions

addCallListener
Link copied to clipboard
abstract fun addCallListener(callListener: CallListener)

Adds a CallListener to the call.

answer
Link copied to clipboard
abstract fun answer()

Answers the incoming call.

hangup
Link copied to clipboard
abstract fun hangup()

Ends the call, regardless of what state it is in. If the call is an incoming call that has not yet been answered, the call will be reported as denied to the caller.

pauseVideo
Link copied to clipboard
abstract fun pauseVideo()

Pauses the video capturing.

removeCallListener
Link copied to clipboard
abstract fun removeCallListener(callListener: CallListener)

Removes a CallListener from the call. If listener was not added before method is no-op.

resumeVideo
Link copied to clipboard
abstract fun resumeVideo()

Resumes the video capturing.

sendDTMF
Link copied to clipboard
abstract fun sendDTMF(keys: String)

Sends one or more DTMF tones for tone dialing. (Only applicable for calls terminated to PSTN (Publicly Switched Telephone Network)).

setBandwidthLimits
Link copied to clipboard
abstract fun setBandwidthLimits(maxAudioBitrate: Int, maxVideoBitrate: Int)

Sets bandwidth limitations on negotiated media streams. Bitrate settings should be non-negative integers values in kbps. Setting bitrate to zero forces use of default values. Settings take effect only if applied before call starts.