Call

interface Call

A Call represents a media call on Cisco Webex. The application can create an outgoing call by calling Phone.dial function: The application can receive an incoming call on Phone.IncomingCallListener:

Since

0.1

Types

Link copied to clipboard

The options to switch audio output during a call.

Link copied to clipboard

The status of a Call.

Link copied to clipboard

The enumeration of directions of a call

Link copied to clipboard

The enumeration to enable, disable and auto enable camera flash

Link copied to clipboard

The enumeration to the media quality info types

Link copied to clipboard

The enumeration for a ringerType to denote the type of tone to be played / stopped

Link copied to clipboard

Enum representing the OptimizeType of Share

Link copied to clipboard

The enumeration to enable, disable and auto enable camera torch

Link copied to clipboard

The options to specify how the video adjusts its content to be render in a view.

Link copied to clipboard

The reasons for the call is waiting.

Properties

Link copied to clipboard

Provides the status of closed captions. If enabled, returns true, otherwise false.

Functions

Link copied to clipboard
abstract fun answer(option: MediaOption, callback: CompletionHandler<Call>)

Answers this call. This can only be invoked when this call is incoming and in ringing status.

Link copied to clipboard
abstract fun canShare(): Boolean
Link copied to clipboard

To check if the audio dump can be recorded for ongoing meeting/call.

Link copied to clipboard
abstract fun closeAuxStream(view: View)

Close the indicated auxiliary stream. You can invoke this API instead of MultiStreamObserver.onAuxStreamUnavailable to close an opened auxiliary stream

Link copied to clipboard
abstract fun directTransferCall(toPhoneNumber: String, callback: CompletionHandler<DirectTransferResult>)

Transfers the active call to the given number. Current call immediately disconnects after transfering

Link copied to clipboard

Enable or Disable the Speech Enhancement for the call. Applicable for WebexCalling and CUCM calling.

Link copied to clipboard

Enable or Disable receiving noise removal functionality. If enabled, the noise present in incoming PSTN calls will be reduced. Applicable for WebexCalling and CUCM calling. Enable this using Phone.useLegacyReceiverNoiseRemoval(useLegacy: true) before making a call. Enabling it will disable the new speech enhancement. CallObserver.onReceivingNoiseInfoChanged will be fired with the result of this operation

Link copied to clipboard
abstract fun forceSendingVideoLandscape(forceLandscape: Boolean, callback: CompletionHandler<Void>?)

To force landscape video transfer of local video view. Default value is false

Link copied to clipboard

Get the current active speaker

Link copied to clipboard
abstract fun getAuxStream(view: View): AuxStream?

Get an indicated auxiliary stream.

Link copied to clipboard

Get the count of current available auxiliary streams

Link copied to clipboard
abstract fun getCallerNumber(): String?
Link copied to clipboard
abstract fun getCallId(): String?

Return callId an identifier for call.

Link copied to clipboard

Get the exposure duration of the camera.

Link copied to clipboard

Get the exposure ISO of the camera.

Link copied to clipboard

Get the exposure target bias of the camera.

Link copied to clipboard

Get the camera flash mode.

Link copied to clipboard

Get the camera Torch mode.

Link copied to clipboard

Invoke this function to retrieve all closed captions generated from the beginning of this call.

Link copied to clipboard

Returns the closedCaptionInfo associated with this call

Link copied to clipboard

Returns the video layout of the active speaker and other attendees for the group video call.

Link copied to clipboard
abstract fun getCorrelationId(): String?

Return the correlationId for this call.

Link copied to clipboard

Get the current audio output mode for the call.

Link copied to clipboard
abstract fun getDirection(): Call.Direction?
Link copied to clipboard
abstract fun getExternalTrackingId(): String?

Return the external tracking id for this call. This is applicable for WxC calls only and is empty for other type of calls.

Link copied to clipboard
Link copied to clipboard
abstract fun getFrom(): CallMembership?
Link copied to clipboard

Provides an instance of LiveAnnotations (if supported) that can be used to control and manage live annotations during a screen sharing session in a specific call. This instance allows developers to access all the functionality related to live annotations, including starting and stopping live annotations, setting the live annotations policy, and responding to live annotation requests.

Link copied to clipboard
abstract fun getLocalVideoViewSize(): Size
Link copied to clipboard
abstract fun getLocusURL(): String?
Link copied to clipboard

Get the media Streams List - MediaStream. This list will return the streams which are available - the participants who joined the meeting.

Link copied to clipboard
abstract fun getMeetingId(): String?

Return the meeting id for this call

Link copied to clipboard
Link copied to clipboard

Get the observer for the events of multi-stream in this call

Link copied to clipboard
abstract fun getObserver(): CallObserver?
Link copied to clipboard

Get the count of already opened auxiliary streams

Link copied to clipboard

Returns the ReceivingNoiseInfo object for this call

Link copied to clipboard
Link copied to clipboard
abstract fun getSchedules(): Set<CallSchedule>?

Will returns the schedules of this call if this call has one or more schedules. If the call isn't a scheduled call, the method will returns null.

Link copied to clipboard
abstract fun getScreenShareLabel(): String?

Return title for ScreenShare.

Link copied to clipboard
abstract fun getShareConfig(): ShareConfig

Indicates the Sharing optimization type of the call.

Link copied to clipboard
abstract fun getSharingRenderView(): View?
Link copied to clipboard
abstract fun getSharingViewSize(): Size
Link copied to clipboard
abstract fun getSpaceId(): String?

Return the associated space of this call

Link copied to clipboard
abstract fun getStatus(): Call.CallStatus
Link copied to clipboard
abstract fun getTitle(): String?

Return title for call.

Link copied to clipboard
abstract fun getTo(): CallMembership?
Link copied to clipboard
abstract fun getVideoRenderViews(): Pair<View?, View?>
Link copied to clipboard
abstract fun getVideoZoomFactor(): Float

Get the local camera zoom factor.

Link copied to clipboard
abstract fun getWXA(): WXA

The Webex Assistant

Link copied to clipboard
abstract fun hangup(callback: CompletionHandler<Void>)

Disconnects this call. This can only be invoked when this call is in answered status.

Link copied to clipboard
abstract fun hasAnyoneJoined(): Boolean
Link copied to clipboard
abstract fun holdCall(putOnHold: Boolean)

Puts the call on hold and trigger a call back onCallHoldStateChanged() for the respective call id

Link copied to clipboard

This invites a participant to the call. This is not applicable for WebexCalling and CUCM calls. Only a host or cohost can invite a participant.

Link copied to clipboard

Indicates whether add participant is supported for the active call.

Link copied to clipboard
abstract fun isAudioOnly(): Boolean
Link copied to clipboard

Returns true if the closed captions is allowed for this call, otherwise false.

Link copied to clipboard
abstract fun isCUCMCall(): Boolean
Link copied to clipboard
abstract fun isGroupCall(): Boolean
Link copied to clipboard
Link copied to clipboard
abstract fun isMeeting(): Boolean
Link copied to clipboard
abstract fun isOnHold(): Boolean

Returns true is the call for the given Id is on hold false otherwise

Link copied to clipboard
abstract fun isPmr(): Boolean
Link copied to clipboard

Returns true if Speech Enhancement is enabled else returns false.

Link copied to clipboard
abstract fun isReceivingAudio(): Boolean
Link copied to clipboard
abstract fun isReceivingSharing(): Boolean
Link copied to clipboard
abstract fun isReceivingVideo(): Boolean
Link copied to clipboard

To check if the audio dump is being recorded for ongoing meeting/call.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
abstract fun isScheduledMeeting(): Boolean
Link copied to clipboard
abstract fun isSelfCreator(): Boolean
Link copied to clipboard
abstract fun isSendingAudio(): Boolean
Link copied to clipboard
Link copied to clipboard
abstract fun isSendingSharing(): Boolean
Link copied to clipboard
abstract fun isSendingVideo(): Boolean
Link copied to clipboard
abstract fun isSpaceMeeting(): Boolean
Link copied to clipboard

Indicates whether transfer is supported for the active call.

Link copied to clipboard
abstract fun isVideoEnabled(): Boolean

Indicates whether video calling is enabled for the user.

Link copied to clipboard
abstract fun joinBreakoutSession(breakoutSession: BreakoutSession)

Join the Breakout Session manually by passing the `BreakoutSession` if host has enabled allow join session later.

Link copied to clipboard
abstract fun letIn(membership: CallMembership)

Admit a CallMembership into the meeting from the lobby. This should be called by moderator.

abstract fun letIn(memberships: List<CallMembership>)

Admit CallMemberships into the meeting from the lobby. This should be called by moderator.

Link copied to clipboard
abstract fun makeHost(participantId: String, callback: CompletionHandler<MakeHostError>)

Assign the host role to a participant. Only a host can assign the host role to another participant.

Link copied to clipboard
abstract fun mergeCalls(targetCallId: String)

Merges a call. This method needs to be called after startAssociatedCall()

Link copied to clipboard
abstract fun muteAllParticipantAudio(doMute: Boolean)

Mutes all other participants who are on call, also un-mutes the others if isMuted is true

Link copied to clipboard
abstract fun muteParticipantAudio(participantId: String, doMute: Boolean)

This method is used to mute particular participant

Link copied to clipboard
abstract fun openAuxStream(view: View)

Open a new auxiliary stream with a view. The Maximum of auxiliary streams can be opened is 4 currently. You can invoke this API instead of MultiStreamObserver.onAuxStreamAvailable to open an available auxiliary stream

Link copied to clipboard
abstract fun reclaimHost(hostKey: String = "", callback: CompletionHandler<ReclaimHostError>)

Reclaim the host role using host key. If the user is self-owner of the meeting, then hostkey is not required.

Link copied to clipboard
abstract fun reject(callback: CompletionHandler<Void>)

Rejects this call. This can only be invoked when this call is incoming and in ringing status.

Link copied to clipboard

Remove the Active Speaker stream. To add the active stream back, use setMediaStreamCategoryA().

Link copied to clipboard
abstract fun removeMediaStreamCategoryC(participantId: String)

Remove the stream of pinned participant.

Link copied to clipboard

Remove all Category-B streams. To change the number of B streams, use setMediaStreamsCategoryB().

Link copied to clipboard
abstract fun returnToMainSession()

To return to main session

Link copied to clipboard
abstract fun sendDTMF(dtmf: String?, callback: CompletionHandler<Void>)

Sends DTMF events to the remote party. Valid DTMF events are 0-9, *, #, a-d, and A-D.

Link copied to clipboard
abstract fun sendFeedback(rating: Int, comment: String?)

Sends feedback for this call to Cisco Webex team.

Link copied to clipboard
abstract fun setCameraAutoExposure(targetBias: Float): Boolean

Set the camera auto exposure value using camera exposure target bias.

Link copied to clipboard
abstract fun setCameraCustomExposure(duration: Double, iso: Float): Boolean

Set the camera custom exposure value using camera exposure duration and ISO.

Link copied to clipboard

Set the camera flash mode.

Link copied to clipboard
abstract fun setCameraFocusAtPoint(pointX: Float, pointY: Float): Boolean

Set the camera focus at given coordinate.

Link copied to clipboard

Set the camera Torch mode.

Link copied to clipboard

Specify the composited video layout for the active speaker and other attendees in the group video meeting.

Link copied to clipboard
abstract fun setFacingMode(facingMode: Phone.FacingMode)
Link copied to clipboard
abstract fun setMediaStreamCategoryA(duplicate: Boolean, quality: MediaStreamQuality)

Add the Active Speaker stream with the specified params if it does not already exist. Otherwise, update the Active Speaker stream with the specified parameters.

Link copied to clipboard
abstract fun setMediaStreamCategoryC(participantId: String, quality: MediaStreamQuality)

If a pinned stream for the participant with participantId already exists, update the stream with the specified params. Otherwise, add a pinned stream for this participantId.

Link copied to clipboard
abstract fun setMediaStreamsCategoryB(numStreams: Int, quality: MediaStreamQuality)

Set all Category-B streams to the specified params. If the number of existing B streams is less than numStreams, it will add B streams as necessary. If the number of existing B streams is more than numStreams, it will remove the extra B streams.

Link copied to clipboard

Set the observer for the events of multi-stream in this call

Link copied to clipboard
abstract fun setObserver(observer: CallObserver?)

Observes the call events

Link copied to clipboard
abstract fun setReceivingAudio(receiving: Boolean)
Link copied to clipboard
abstract fun setReceivingSharing(receiving: Boolean)
Link copied to clipboard
abstract fun setReceivingVideo(receiving: Boolean)
Link copied to clipboard

Specify how the remote video adjusts its content to be render in a view.

Link copied to clipboard
abstract fun setSendingAudio(sending: Boolean)
Link copied to clipboard
abstract fun setSendingSharing(sending: Boolean, shareConfig: ShareConfig? = null)
Link copied to clipboard
abstract fun setSendingVideo(sending: Boolean)
Link copied to clipboard
abstract fun setSharingRenderView(view: View?)
Link copied to clipboard

This sets the spoken language for the call. Only host of this call can change spoken language.

Link copied to clipboard

This sets the translation language for this call.

Link copied to clipboard
abstract fun setVideoRenderViews(videoRenderViews: Pair<View?, View?>?)
Link copied to clipboard
abstract fun setVideoZoomFactor(factor: Float): Boolean

Set the Zoom IN/OUT factor for the local camera.

Link copied to clipboard
abstract fun startAssociatedCall(dialNumber: String, associationType: CallAssociationType, audioCall: Boolean, callback: CompletionHandler<Call>)

This associates a new call with 3rd person. transferCall() needs to be called to transfer a call when a new call association is done, Returns a new call id after associating a call

Link copied to clipboard

To start recording the audio dump for ongoing meeting/call.

Link copied to clipboard
abstract fun startSharing(callback: CompletionHandler<Void>, shareConfig: ShareConfig? = null)

Start content sharing.

abstract fun startSharing(notification: Notification?, notificationId: Int, callback: CompletionHandler<Void>, shareConfig: ShareConfig? = null)

Start content sharing. The notification and it's id are only work for targetSdkVersion is 29 or higher.

Link copied to clipboard

To stop recording the audio dump.

Link copied to clipboard
abstract fun stopSharing(callback: CompletionHandler<Void>)

Stop content sharing.

Link copied to clipboard
abstract fun switchAudioOutput(audioOutputMode: Call.AudioOutputMode, completionHandler: CompletionHandler<Boolean>? = null)

Switch the audio output mode during a call. When a call is connected and if the application is already connected to a bluetooth device, then audio will be routed via the bluetooth device. If bluetooth is not connected, then the audio will be routed to device earpiece. To change this default behaviour, you can use this API with the desired AudioOutputMode

Link copied to clipboard

To switch the current Webex Calling call to audio call.

Link copied to clipboard

To switch the current Webex Calling call to video call

Link copied to clipboard
abstract fun takePhoto(): Boolean

Takes a snapshot of the local video view .

Link copied to clipboard
abstract fun toggleClosedCaption(isEnabled: Boolean, handler: CompletionHandler<Boolean>)

Call this function to enable or disable closed captions for this call.

Link copied to clipboard
abstract fun transferCall(toCallId: String)

Transfers a call. This method needs to be called after startAssociatedCall()