# Class: Call

## Constructor

#### new Call(callService)

  The Call class is a facade object that can be used to represent a two-party or a conference call. When a Call instance represents a two-party call, conference-related functions are unsupported.
  The client application can call Call.getConference() regardless of whether the call is point-to-point or a conference call. Calling conference operations on a pt-to-pt call returns failure.
  The Call also supports video control methods that can be applied to either a two-party or a conference call.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callService` | AvayaClientServices.Services.Call.CallService | Call Service

## Methods

#### accept() → {AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)>}

  Accepts an incoming call.

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)> }

#### acceptAnswerCallRequest() → {AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)>}

  In a third party call control scenario this method accepts the answer call request. This should only be executed after receiving an answer call request.

  ##### See:

    - AvayaClientServices.Services.Call.Call#onAnswerCallRequestedCallback

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)> }

#### acceptMakeCallRequest() → {AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)>}

  In a third party call control scenario this method accepts the make call request. This should only be executed after receiving a make call request.

  ##### See:

    - AvayaClientServices.Services.Call.Calls#onMakeCallRequestedCallback

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)> }

#### acceptSendVideo(videoMode) → {AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)>}

  Accepts an incoming video request to add video to the call.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `videoMode` | AvayaClientServices.Services.Call.VideoMode | Accepted video mode. Video can be accepted as bi-directional or unidirectional (e.g., receive only).

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)> }

#### acceptTerminateCallRequest() → {AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)>}

  In a third party call control scenario this method accepts the terminate call request. This should only be executed after receiving a terminate call request.

  ##### See:

    - AvayaClientServices.Services.Call.Call#onTerminateCallRequestedCallback

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)> }

#### acceptUpdateCallRequest() → {AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)>}

  In a third party call control scenario this method accepts the update call request. This should only be executed after receiving an update call request.

  ##### See:

    - AvayaClientServices.Services.Call.Call#onUpdateCallRequestedCallback

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)> }

#### addOnMediaConnectedCallback(callback)

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onMediaConnectedCallback |

#### addOnMediaDisconnectedCallback(callback)

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onMediaDisconnectedCallback |

#### addOnMediaFailedCallback(callback)

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onMediaFailedCallback |

#### addOnServiceQualityScoreChangedCallback(callback)

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onServiceQualityScoreChangedCallback |

#### attendedTransfer(callToReplace) → {AvayaClientServices.Base.Promise.<(AvayaClientServices.Services.Call.TransferProgressCode|AvayaClientServices.Services.Call.CallException)>}

  Transfers this call to another call (an attended transfer). Once the transfer is successfully completed, the onCallEndedCallback will be executed to notify that the call has ended.

  The operation result is reported to the Promise object returned by this function.
  If the operation succeeds, the success callback is called with the TransferProgressCode argument.
  If the operation fails, the failure callback is called with the CallException argument.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callToReplace` | AvayaClientServices.Services.Call.Call | The existing call to transfer this call to.

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(AvayaClientServices.Services.Call.TransferProgressCode|AvayaClientServices.Services.Call.CallException)> }

#### deny() → {AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)>}

  Requests denial of an incoming call without providing a specific denial reason. In this case, the signaling engine internally uses "BUSY" indication in the rejection response.

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)> }

#### denySendVideo() → {AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)>}

  Denies an incoming video request to add video to the call.

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)> }

#### denyWithReason(denialReason) → {AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)>}

  Requests denial of an incoming call providing a specific reason.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `denialReason` | AvayaClientServices.Services.Call.CallDenialReason | A reason code that will be passed to the originator of the call.

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)> }

#### disableMic() → {AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)>}

  Deallocatate the current microphone track if previously been allocated.

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)> }

#### enableMic() → {AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)>}

  Allocatate a new microphone track if it has previously been deallocated depending on the current mute state.

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)> }

#### end()

  Ends the call. When the operation is completed, onCallEndedCallback will be called.

  ##### See:

    - {AvayaClientServices.Services.Call.Call#onCallEndedCallback}

#### getAlertType() → {AvayaClientServices.Services.Call.AlertType}

  Returns the alert type of an incoming call.

  ##### Returns:

  { AvayaClientServices.Services.Call.AlertType }

  The alert type of an incoming call.

#### getAudioChannel() → {AvayaClientServices.Services.Call.AudioChannel}

  Returns the audio channel associated with the call.

  ##### Returns:

  { AvayaClientServices.Services.Call.AudioChannel }

#### getAudioDetails() → {AvayaClientServices.Base.Promise.<(AvayaClientServices.Services.Call.AudioDetails|AvayaClientServices.Services.Call.CallException)>}

  Returns detailed information about the audio channel associated with the call.
  The value for each statistic could be undefined and it will happen in case the statistics are unavailable.

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(AvayaClientServices.Services.Call.AudioDetails|AvayaClientServices.Services.Call.CallException)> }

#### getBackgroundImage() → {HTMLImageElement}

  Do not use this function. It's for internal use only.

  ##### Returns:

  { HTMLImageElement }

#### getCallId() → {string}

  Returns the unique ID for this call.

  ##### Returns:

  { string }

  The unique ID for this call.

#### getConference() → {AvayaClientServices.Services.Conference.Conference}

  Returns the Conference object associated with the call.
  This function will create a new ad-hoc (non-Scopia) conference if there's no conference associated with the call.
  Conference may be associated with the call during the call. This change will be reported via onCallConferenceStatusChangedCallback.

  ##### See:

    - {AvayaClientServices.Services.Call.Call#onCallConferenceStatusChangedCallback}

  ##### Returns:

  { AvayaClientServices.Services.Conference.Conference }

  Conference associated with the call.

#### getConferenceEntryOptions() → {AvayaClientServices.Services.Call.ConferenceEntryOptions}

  Returns entry options for the conference call.

  Deprecated:
    - Yes

  ##### Returns:

  { AvayaClientServices.Services.Call.ConferenceEntryOptions }

  Conference entry options.

#### getEstablishedTime() → {date}

  Returns the time when the call was established.

  ##### Returns:

  { date }

  The time when the call was established.

#### getHeldTime() → {date}

  Returns the time when the call was last held.

  ##### Returns:

  { date }

  The time when the call was last held.

#### getIncomingVideoOffered() → {AvayaClientServices.Services.Call.VideoNetworkSignalingType}

  Determines if the incoming call includes video.

  ##### Returns:

  { AvayaClientServices.Services.Call.VideoNetworkSignalingType }

#### getNoiseReductionSetting() → {AvayaClientServices.Services.Call.NoiseReductionSetting}

  Returns noise reduction setting

  ##### Returns:

  { AvayaClientServices.Services.Call.NoiseReductionSetting }

#### getRemoteAddress() → {string}

  Returns the address of the remote party of the call. If the remote address is changed during the call, the change will be reported via onCallRemoteAddressChangedCallback.

  ##### See:

    - {AvayaClientServices.Services.Call.Call#onCallRemoteAddressChangedCallback}

  ##### Returns:

  { string }

  The address of the remote party of the call.

#### getRemoteDisplayName() → {string}

  Returns the display name of the remote party of the call.

  ##### Returns:

  { string }

  The display name of the remote party of the call.

#### getRemoteNumber() → {string}

  Returns the remote number for this call. This returns the same value as getRemoteAddress.

  ##### Returns:

  { string }

  The remote number for this call.

#### getRemoteParticipant() → {AvayaClientServices.Services.Participant}

  Returns information about the remote participant of the call. Participant object may be empty if the call is not established or the remote party details are not available.

  ##### Returns:

  { AvayaClientServices.Services.Participant }

  Object with information about the remote party of the call.

#### getServiceQualityScore() → {AvayaClientServices.Base.AbsoluteCategoryRating|undefined}

  Determines the quality of service in Absolute Category Rating
  numbers. Can be undefined if not supported by the browser or if the
  call is in inappropriate state.

  ##### Returns:

  { AvayaClientServices.Base.AbsoluteCategoryRating | undefined }

#### getState() → {AvayaClientServices.Services.Call.CallStates}

  Returns the current state of the call.

  ##### Returns:

  { AvayaClientServices.Services.Call.CallStates }

  The current state of the call.

#### getSubject() → {string}

  Returns the subject of the call, if any.

  ##### Returns:

  { string }

  The subject of the call.

#### getUserToUserInfo() → {undefined|AvayaClientServices.Services.Call.UserToUserInfo}

  Returns user to user information associated with the call.

  ##### Returns:

  { undefined | AvayaClientServices.Services.Call.UserToUserInfo }

#### getVideoChannels() → {Array.<AvayaClientServices.Services.Call.VideoChannel>}

  Returns the list of video channels associated with the call. Changes to the list of video channels are reported via onCallVideoChannelsUpdatedCallback.

  ##### See:

    - {AvayaClientServices.Services.Call.Call#onCallVideoChannelsUpdatedCallback}

  ##### Returns:

  { Array.<AvayaClientServices.Services.Call.VideoChannel> }

#### getVideoDetails() → {AvayaClientServices.Base.Promise.<(AvayaClientServices.Services.Call.VideoDetails|AvayaClientServices.Services.Call.CallException)>}

  Returns detailed information about all video channels associated with the call.
  The value for each statistic could be undefined and it will happen in case the statistics are unavailable.

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(AvayaClientServices.Services.Call.VideoDetails|AvayaClientServices.Services.Call.CallException)> }

#### getVideoMuteReason() → {AvayaClientServices.Services.Call.CallError}

  Returns the reason video was muted if the mute was not initiated by the
  muteVideo() API. Possible reasons include CAMERA_NOT_FOUND, CAMERA_PERMISSION_DENIED,
  CAMERA_NOT_ACCESSIBLE, and CAMERA_INITIALIZED_LATE

  ##### Returns:

  { AvayaClientServices.Services.Call.CallError }

#### hold() → {AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)>}

  Requests the call to be held. Promise returned by the function indicates whether call hold was requested successfully or not.

  When the call is held, onCallHeldCallback is called.
  If the hold operation fails, the call state returns to the CallStates.ESTABLISHED state, and any media channels previously ended to handle the hold request are resumed.

  ##### See:

    - {AvayaClientServices.Services.Call.Call#onCallHeldCallback}

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)> }

#### ignore() → {AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)>}

  Ignores an incoming call. Ignoring the call changes the call state to ignored, but it has no effect on the call.
  The ignored call is not ended. For the remote party, such call is treated as if it were still alerting.
  The ignored call can still be answered.

  ##### See:

    - {AvayaClientServices.Services.Call.Call#onCallIgnoredCallback}

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)> }

#### isAudioMuted() → {boolean}

  Returns a flag indicating whether the audio for the call is muted.

  ##### Returns:

  { boolean }

  True if the audio for the call is muted, or false otherwise.

#### isAutoAnswerEnabled() → {boolean}

  ##### Returns:

  { boolean }

#### isBackgroundBlur() → {boolean}

  Do not use this function. It's for internal use only.

  ##### Returns:

  { boolean }

#### isCallerIdentityPrivate() → {boolean}

  Returns a flag indicating whether the user who initiated the call wishes their identity to be kept private.
  For an incoming call, this function indicates whether the remote user's address is private.
  For an outgoing call, this function indicates whether the local user's address is private (this can take place if the user chooses to make a private call).

  ##### Returns:

  { boolean }

  True if the user who initiated the call wishes their identity to be kept private, or false otherwise.

#### isConference() → {boolean}

  Returns a flag indicating whether the call is a conference call.

  ##### See:

    - {AvayaClientServices.Services.Call.Call#onCallConferenceStatusChangedCallback}
    - {AvayaClientServices.Services.Call.Call#getConference}

  ##### Returns:

  { boolean }

  True if the call is a conference call, or false otherwise.

#### isHeldRemotely() → {boolean}

  Returns a flag indicating whether this call is held by the remote party. Remote hold and unhold are reported via onCallHeldRemotelyCallback and onCallUnheldRemotelyCallback callbacks respectively.

  ##### See:

    - {AvayaClientServices.Services.Call.Call#onCallHeldRemotelyCallback}
    - {AvayaClientServices.Services.Call.Call#onCallUnheldRemotelyCallback}

  ##### Returns:

  { boolean }

  True if the call is held by the remote party, or false otherwise.

#### isIgnored() → {boolean}

  Returns a flag indicating whether this incoming call is ignored. An ignored call can still be answered.

  ##### See:

    - {AvayaClientServices.Services.Call.Call#ignore}
    - {AvayaClientServices.Services.Call.Call#onCallIgnoredCallback}

  ##### Returns:

  { boolean }

  True if the call is ignored and not yet answered, or false otherwise.

#### isIncoming() → {boolean}

  Returns a flag indicating whether the call is incoming.

  ##### Returns:

  { boolean }

  True if the call is incoming, or false otherwise.

#### isMediaConnected() → {boolean}

  Returns true if media path is established

  ##### Returns:

  { boolean }

#### isMicrophoneDisabled() → {boolean}

  Returns a flag indicating whether the microphone for the call is disabled.

  ##### Returns:

  { boolean }

  True if the microphone is disabled, or false otherwise.

#### isMissed() → {boolean}

  Returns a flag indicating whether this call was missed.

  ##### Returns:

  { boolean }

  True if the call was missed, or false otherwise.

#### isRemote() → {boolean}

  Returns a flag indicating whether this call is a remote call created on the principal line associated with the local user.
  A remote call is a call that does not exist on the local device but the user is aware of, such as a call on a bridged line.

  A local user can join the remote call by calling Call.join().

  ##### See:

    - {AvayaClientServices.Services.Call.Call#join}

  ##### Returns:

  { boolean }

  True if the call is a remote call created on the principal line associated with the local user.

#### isServiceAvailable() → {boolean}

  Returns a flag indicating whether this call has a valid signaling path. Changes are reported via onCallServiceAvailableCallback and onCallServiceUnavailableCallback.

  ##### See:

    - {AvayaClientServices.Services.Call.Call#onCallServiceAvailableCallback}
    - {AvayaClientServices.Services.Call.Call#onCallServiceUnavailableCallback}

  ##### Returns:

  { boolean }

  True if the call has a valid signaling path, or false otherwise.

#### isSpeakerMuted() → {boolean}

  Returns a flag indicating whether the speakers are muted for this call.

  ##### Returns:

  { boolean }

  True if the audio output of the call is muted, or false otherwise.

#### join() → {AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)>}

  Requests to join the remote call. Promise returned by the function indicates if joining the call was requested successfully or not.

  When the join is completed, onCallJoinedCallback is called and the call becomes a local call.
  This can also be verified by calling Call.isRemote() which returns false if joining was successful.
  If the join operation fails, the call continues to be a remote call. In this case, Call.isRemote() returns true.

  ##### See:

    - {AvayaClientServices.Services.Call.Call#onCallJoinedCallback}
    - {AvayaClientServices.Services.Call.Call#isRemote}

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)> }

#### muteAudio() → {AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)>}

  Mutes audio for this call.

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)> }

#### muteSpeaker() → {AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)>}

  Mutes the speaker output of this call only.

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)> }

#### muteVideo() → {AvayaClientServices.Base.Promise}

  Mutes video for this call.

  ##### Returns:

  { AvayaClientServices.Base.Promise }

#### rejectAnswerCallRequest() → {AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)>}

  In a third party call control scenario this method rejects the answer call request. This should only be executed after receiving an answer call request.

  ##### See:

    - AvayaClientServices.Services.Call.Call#onAnswerCallRequestedCallback

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)> }

#### rejectMakeCallRequest() → {AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)>}

  In a third party call control scenario this method rejects the make call request. This should only be executed after receiving a make call request.

  ##### See:

    - AvayaClientServices.Services.Call.Calls#onMakeCallRequestedCallback

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)> }

#### rejectTerminateCallRequest() → {AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)>}

  In a third party call control scenario this method rejects the terminate call request. This should only be executed after receiving a terminate call request.

  ##### See:

    - AvayaClientServices.Services.Call.Call#onTerminateCallRequestedCallback

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)> }

#### rejectUpdateCallRequest() → {AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)>}

  In a third party call control scenario this method rejects the update call request. This should only be executed after receiving an update call request.

  ##### See:

    - AvayaClientServices.Services.Call.Call#onUpdateCallRequestedCallback

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)> }

#### removeAllVideoChannels() → {AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)>}

  Removes all video channels set for this call. This function is deprecated, use Call.setVideoMode() instead.

  Deprecated:
    - Yes

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)> }

#### removeOnMediaConnectedCallback(callback)

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onMediaConnectedCallback |

#### removeOnMediaDisconnectedCallback(callback)

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onMediaDisconnectedCallback |

#### removeOnMediaFailedCallback(callback)

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onMediaFailedCallback |

#### removeOnServiceQualityScoreChangedCallback(callback)

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onServiceQualityScoreChangedCallback |

#### sendDTMF(dtmf) → {AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)>}

  Sends the specified DTMF tone.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `dtmf` | AvayaClientServices.Services.Call.DTMFTone | The DTMF tone to send.

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)> }

#### setAudioMode(audioMode) → {AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)>}

  Sets the audio mode for the call.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `audioMode` | AvayaClientServices.Services.Call.AudioMode | Desired audio mode for the call.

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)> }

#### setBackgroundBlur(blur) → {Promise}

  Do not use this function. It's for internal use only.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `blur` | boolean |

  ##### Returns:

  { Promise }

#### setBackgroundImage(backgroundImg) → {Promise}

  Do not use this function. It's for internal use only.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `backgroundImg` | HTMLImageElement |

  ##### Returns:

  { Promise }

#### setConferenceEntryOptions(options)

  Sets entry options for the conference call.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `options` | AvayaClientServices.Services.Call.ConferenceEntryOptions | Conference entry options.

  Deprecated:
    - Yes

#### setNoiseReduction(setting) → {AvayaClientServices.Base.Promise}

  Sets noise reduction setting for the call.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `setting` | AvayaClientServices.Services.Call.NoiseReductionSetting |

  ##### Returns:

  { AvayaClientServices.Base.Promise }

#### setVideoChannels(videoChannels) → {AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)>}

  Adds, updates or removes one or more video channels from the call. This function is deprecated, use Call.setVideoMode() instead.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `videoChannels` | Array.<AvayaClientServices.Services.Call.VideoChannel> | Video channels.

  Deprecated:
    - Yes

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)> }

#### setVideoMode(videoMode, deallocateCamera) → {AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)>}

  Sets the video mode for the call. This method is typically used to:

  - Make an outgoing video call by adding video to the call prior to starting it.
  - Answer an incoming video call with video by adding video to the call prior to accepting it.
  - Add video to an existing audio-only call.
  - Remove video from the call (make audio-only).
  - Block/unblock video for the call (block means receive-only video).
  - Pause/unpause video for the call (pause means send-only video).

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `videoMode` | AvayaClientServices.Services.Call.VideoMode |  | Desired video mode for the call.
  `deallocateCamera` | Boolean | <optional> | Block and deallocate camera if videoMode is RECEIVE_ONLY and the parameter value is true.

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)> }

#### setWebCollaboration(enableWebCollaboration) → {AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)>}

  Sets the web collaboration for the call.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `enableWebCollaboration` | boolean |

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)> }

#### start()

  Starts an outgoing call. If the call starts successfully, onCallStartedCallback will be called.
  Otherwise, failure will be reported via onCallFailedCallback.

  ##### See:

    - {AvayaClientServices.Services.Call.Call#onCallStartedCallback}
    - {AvayaClientServices.Services.Call.Call#onCallFailedCallback}

#### startRinging() → {AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)>}

  In a third party call control scenario, this is used to inform the network that the client has started ringing."

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)> }

#### transfer(remoteAddress) → {AvayaClientServices.Base.Promise.<(AvayaClientServices.Services.Call.TransferProgressCode|AvayaClientServices.Services.Call.CallException)>}

  Transfers this call to the specified remote address (an unattended transfer). Once the transfer is successfully completed, onCallEndedCallback will be executed to notify that the call has ended.

  The operation result is reported to the Promise object returned by this function.
  If the operation succeeds, the success callback is called with the TransferProgressCode argument.
  If the operation fails, the failure callback is called with the CallException argument.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `remoteAddress` | String | The remote address to transfer the call to.

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(AvayaClientServices.Services.Call.TransferProgressCode|AvayaClientServices.Services.Call.CallException)> }

#### unhold() → {AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)>}

  Requests the held call to be unheld. Promise returned by the function indicates if unhold was requested successfully or not.

  When the call is unheld, onCallUnheldCallback is called and the call is transferred to the CallStates.ESTABLISHED state and its media channel(s) are restored.
  If the hold operation fails, the call state remains in the CallStates.HELD state and its media channel(s) are not restored.

  ##### See:

    - {AvayaClientServices.Services.Call.Call#onCallUnheldCallback}

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)> }

#### unmuteAudio() → {AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)>}

  Unmutes audio for this call.

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)> }

#### unmuteSpeaker() → {AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)>}

  Unmutes the speaker output of this call only.

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(undefined|AvayaClientServices.Services.Call.CallException)> }

#### unmuteVideo() → {AvayaClientServices.Base.Promise}

  Unmutes video for this call.

  ##### Returns:

  { AvayaClientServices.Base.Promise }

### Callbacks

#### addOnAnswerCallRequestedCallback(callback)

  Adds new onAnswerCallRequestedCallback

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onAnswerCallRequestedCallback |

#### addOnAudioStreamUpdatedCallback(callback)

  Adds new onAudioStreamUpdatedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onAudioStreamUpdatedCallback |

#### addOnCallAudioMuteStatusChangedCallback(callback)

  Adds new onCallAudioMuteStatusChangedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallAudioMuteStatusChangedCallback |

#### addOnCallConferenceStatusChangedCallback(callback)

  Adds new onCallConferenceStatusChangedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallConferenceStatusChangedCallback |

#### addOnCallEndedCallback(callback)

  Adds new onCallEndedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallEndedCallback |

#### addOnCallEstablishedCallback(callback)

  Adds new onCallEstablishedCallback

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallEstablishedCallback |

#### addOnCallEstablishingCallback(callback)

  Adds new onCallEstablishingCallback

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallEstablishingCallback |

#### addOnCallFailedCallback(callback)

  Adds new onCallFailedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallFailedCallback |

#### addOnCallHeldCallback(callback)

  Adds new onCallHeldCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallHeldCallback |

#### addOnCallHeldRemotelyCallback(callback)

  Adds new onCallHeldRemotelyCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallHeldRemotelyCallback |

#### addOnCallIgnoredCallback(callback)

  Adds new onCallIgnoredCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallIgnoredCallback |

#### addOnCallIncomingVideoAddRequestAcceptedCallback(callback)

  Adds new onCallIncomingVideoAddRequestAcceptedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallIncomingVideoAddRequestAcceptedCallback |

#### addOnCallIncomingVideoAddRequestDeniedCallback(callback)

  Adds new onCallVideoChannelsUpdatedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallIncomingVideoAddRequestDeniedCallback |

#### addOnCallIncomingVideoAddRequestReceivedCallback(callback)

  Adds new onCallIncomingVideoAddRequestReceivedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallIncomingVideoAddRequestReceivedCallback |

#### addOnCallIncomingVideoAddRequestTimedOutCallback(callback)

  Adds new onCallIncomingVideoAddRequestTimedOutCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallIncomingVideoAddRequestTimedOutCallback |

#### addOnCallJoinedCallback(callback)

  Adds new onCallJoinedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallJoinedCallback |

#### addOnCallQueuedCallback(callback)

  Adds new onCallQueuedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallQueuedCallback |

#### addOnCallRedirectedCallback(callback)

  Adds new onCallRedirectedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallRedirectedCallback |

#### addOnCallRemoteAddressChangedCallback(callback)

  Adds new onCallRemoteAddressChangedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallRemoteAddressChangedCallback |

#### addOnCallRemoteAlertingCallback(callback)

  Adds new onCallRemoteAlertingCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallRemoteAlertingCallback |

#### addOnCallServiceAvailableCallback(callback)

  Adds new onCallServiceAvailableCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallServiceAvailableCallback | The call the signaling path is available for.

#### addOnCallServiceUnavailableCallback(callback)

  Adds new onCallServiceUnavailableCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallServiceUnavailableCallback |

#### addOnCallSpeakerMuteStatusChangedCallback(callback)

  Adds new onCallSpeakerMuteStatusChangedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallSpeakerMuteStatusChangedCallback |

#### addOnCallStartedCallback(callback)

  Adds new onCallStartedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallStartedCallback |

#### addOnCallUnheldCallback(callback)

  Adds new onCallUnheldCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallUnheldCallback |

#### addOnCallUnheldRemotelyCallback(callback)

  Adds new onCallUnheldRemotelyCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallUnheldRemotelyCallback |

#### addOnCallVideoChannelsUpdatedCallback(callback)

  Adds new onCallVideoChannelsUpdatedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallVideoChannelsUpdatedCallback |

#### addOnCallVideoMuteStatusChangedCallback(callback)

  Adds new onCallVideoMuteStatusChangedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallVideoMuteStatusChangedCallback |

#### addOnCallVideoRemovedRemotelyCallback(callback)

  Adds new onCallVideoRemovedRemotelyCallback.
  This function is deprecated and should not be used by the applications.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallVideoRemovedRemotelyCallback |

  Deprecated:
    - Yes

#### addOnParticipantDroppedCallback(callback)

  Adds new onParticipantDroppedCallback.
  This function is deprecated and should not be used.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onParticipantDroppedCallback |

  Deprecated:
    - Yes

#### addOnRemoteVideoAddedCallback(callback)

  Adds new onRemoteVideoAddedCallback.
  This function is deprecated and not recommended for use.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onRemoteVideoAddedCallback |

  Deprecated:
    - Yes

#### addOnRemoteVideoRemovedCallback(callback)

  Adds new onRemoteVideoRemovedCallback.
  This function is deprecated and not recommended for use.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onRemoteVideoRemovedCallback |

  Deprecated:
    - Yes

#### addOnTerminateCallRequestedCallback(callback)

  Adds new onTerminateCallRequestedCallback

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onTerminateCallRequestedCallback |

#### addOnUpdateCallRequestedCallback(callback)

  Adds new onUpdateCallRequestedCallback

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onUpdateCallRequestedCallback |

#### removeOnAnswerCallRequestedCallback(callback)

  Removes existing onAnswerCallRequestedCallback

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onAnswerCallRequestedCallback |

#### removeOnAudioStreamUpdatedCallback(callback)

  Removes existing onAudioStreamUpdatedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onAudioStreamUpdatedCallback |

#### removeOnCallAudioMuteStatusChangedCallback(callback)

  Removes existing onCallAudioMuteStatusChangedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallAudioMuteStatusChangedCallback |

#### removeOnCallConferenceStatusChangedCallback(callback)

  Removes existing onCallConferenceStatusChangedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallConferenceStatusChangedCallback |

#### removeOnCallEndedCallback(callback)

  Removes existing onCallEndedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallEndedCallback |

#### removeOnCallEstablishedCallback(callback)

  Removes existing onCallEstablishedCallback

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallEstablishedCallback |

#### removeOnCallEstablishingCallback(callback)

  Removes existing onCallEstablishingCallback

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallEstablishingCallback |

#### removeOnCallFailedCallback(callback)

  Removes existing onCallFailedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallFailedCallback |

#### removeOnCallHeldCallback(callback)

  Removes existing onCallHeldCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallHeldCallback |

#### removeOnCallHeldRemotelyCallback(callback)

  Removes existing onCallHeldRemotelyCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallHeldRemotelyCallback |

#### removeOnCallIgnoredCallback(callback)

  Removes existing onCallIgnoredCallback

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallIgnoredCallback |

#### removeOnCallIncomingVideoAddRequestAcceptedCallback(callback)

  Removes existing onCallIncomingVideoAddRequestAcceptedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallIncomingVideoAddRequestAcceptedCallback |

#### removeOnCallIncomingVideoAddRequestDeniedCallback(callback)

  Removes existing onCallVideoChannelsUpdatedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallIncomingVideoAddRequestDeniedCallback |

#### removeOnCallIncomingVideoAddRequestReceivedCallback(callback)

  Removes existing onCallIncomingVideoAddRequestReceivedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallIncomingVideoAddRequestReceivedCallback |

#### removeOnCallIncomingVideoAddRequestTimedOutCallback(callback)

  Removes existing onCallIncomingVideoAddRequestTimedOutCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallIncomingVideoAddRequestTimedOutCallback |

#### removeOnCallJoinedCallback(callback)

  Removes existing onCallJoinedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallJoinedCallback |

#### removeOnCallQueuedCallback(callback)

  Removes existing onCallQueuedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallQueuedCallback |

#### removeOnCallRedirectedCallback(callback)

  Removes existing onCallRedirectedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallRedirectedCallback |

#### removeOnCallRemoteAddressChangedCallback(callback)

  Removes existing onCallRemoteAddressChangedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallRemoteAddressChangedCallback |

#### removeOnCallRemoteAlertingCallback(callback)

  Removes existing onCallRemoteAlertingCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallRemoteAlertingCallback |

#### removeOnCallServiceAvailableCallback(callback)

  Removes existing onCallServiceAvailableCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallServiceAvailableCallback |

#### removeOnCallServiceUnavailableCallback(callback)

  Removes existing onCallServiceUnavailableCallback

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallServiceUnavailableCallback |

#### removeOnCallSpeakerMuteStatusChangedCallback(callback)

  Removes existing onCallSpeakerMuteStatusChangedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallSpeakerMuteStatusChangedCallback |

#### removeOnCallStartedCallback(callback)

  Removes existing onCallStartedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallStartedCallback |

#### removeOnCallUnheldCallback(callback)

  Removes existing onCallUnheldCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallUnheldCallback |

#### removeOnCallUnheldRemotelyCallback(callback)

  Removes existing onCallUnheldRemotelyCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallUnheldRemotelyCallback |

#### removeOnCallVideoChannelsUpdatedCallback(callback)

  Removes existing onCallVideoChannelsUpdatedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallVideoChannelsUpdatedCallback |

#### removeOnCallVideoMuteStatusChangedCallback(callback)

  Removes existing onCallVideoMuteStatusChangedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallVideoMuteStatusChangedCallback |

#### removeOnCallVideoRemovedRemotelyCallback(callback)

  Removes existing onCallVideoRemovedRemotelyCallback.
  This function is deprecated and should not be used by the applications.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onCallVideoRemovedRemotelyCallback |

  Deprecated:
    - Yes

#### removeOnParticipantDroppedCallback(callback)

  Removes existing onParticipantDroppedCallback.
  This function is deprecated and should not be used.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onParticipantDroppedCallback |

  Deprecated:
    - Yes

#### removeOnRemoteVideoAddedCallback(callback)

  Removes existing onRemoteVideoAddedCallback
  This function is deprecated and not recommended for use.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onRemoteVideoAddedCallback |

  Deprecated:
    - Yes

#### removeOnRemoteVideoRemovedCallback(callback)

  Removes existing onRemoteVideoRemovedCallback.
  This function is deprecated and not recommended for use.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onRemoteVideoRemovedCallback |

  Deprecated:
    - Yes

#### removeOnTerminateCallRequestedCallback(callback)

  Removes existing onTerminateCallRequestedCallback

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onTerminateCallRequestedCallback |

#### removeOnUpdateCallRequestedCallback(callback)

  Removes existing onUpdateCallRequestedCallback

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Call.Call#onUpdateCallRequestedCallback |

### Capabilities

#### getDisableMicrophoneCapability() → {AvayaClientServices.Base.Capability}

  Returns an indication as to whether the microphone can be disabled.

  ##### See:

    - {AvayaClientServices.Services.Call.Call#disableMic}

  ##### Returns:

  { AvayaClientServices.Base.Capability }

  Object describing whether the microphone can be disabled.

#### getEnableMicrophoneCapability() → {AvayaClientServices.Base.Capability}

  Returns an indication as to whether the microphone can be enabled.

  ##### See:

    - {AvayaClientServices.Services.Call.Call#enableMic}

  ##### Returns:

  { AvayaClientServices.Base.Capability }

  Object describing whether the microphone can be enabled.

#### getHoldCapability() → {AvayaClientServices.Base.Capability}

  Returns an indication as to whether the call can be held. It should be noted that a subsequent hold operation is not guaranteed to succeed as it depends on the state of the call that is being held.

  ##### See:

    - {AvayaClientServices.Services.Call.Call#hold}

  ##### Returns:

  { AvayaClientServices.Base.Capability }

  Object describing whether the call can be held.

#### getJoinCapability() → {AvayaClientServices.Base.Capability}

  Returns an indication as to whether the call can be joined. It should be noted that a subsequent join operation is not guaranteed to succeed as it depends on the characteristics of the remote call that is being joined.
  For example, the remote call may have exclusion turned on, therefore, the local user will not be allowed to join.

  ##### See:

    - {AvayaClientServices.Services.Call.Call#join}

  ##### Returns:

  { AvayaClientServices.Base.Capability }

  Object describing whether the call can be joined to another call.

#### getMuteCapability() → {AvayaClientServices.Base.Capability}

  Returns an indication as to whether the audio of the call can be muted.

  ##### See:

    - {AvayaClientServices.Services.Call.Call#muteAudio}

  ##### Returns:

  { AvayaClientServices.Base.Capability }

  Object describing whether the audio of the call can be muted.

#### getMuteSpeakerCapability() → {AvayaClientServices.Base.Capability}

  Returns an indication as to whether the call audio output can be muted.

  ##### See:

    - {AvayaClientServices.Services.Call.Call#muteSpeaker}

  ##### Returns:

  { AvayaClientServices.Base.Capability }

  Object describing whether the call audio output can be muted.

#### getMuteVideoCapability() → {AvayaClientServices.Base.Capability}

  Returns an indication as to whether the video of the call can be muted.

  ##### See:

    - {AvayaClientServices.Services.Call.Call#muteVideo}

  ##### Returns:

  { AvayaClientServices.Base.Capability }

  Object describing whether the video of the call can be muted.

#### getSendDTMFCapability() → {AvayaClientServices.Base.Capability}

  Returns an indication as to whether DTMF tones can be sent over the existing call. The call must be active or have early media to send DTMF.

  ##### See:

    - {AvayaClientServices.Services.Call.Call#sendDTMF}

  ##### Returns:

  { AvayaClientServices.Base.Capability }

  Object describing whether DTMF tones can be sent over the existing call.

#### getServiceQualityScoreCapability() → {AvayaClientServices.Base.Capability}

  Indicates whether the quality of service during the call could be measured.

  ##### Returns:

  { AvayaClientServices.Base.Capability }

  Object describing whether the audio mode can be changed based on the state of the call.

#### getSetBackgroundBlurCapability() → {AvayaClientServices.Base.Capability}

  Indicates whether the client could set the background blur setting for the call.

  ##### Returns:

  { AvayaClientServices.Base.Capability }

  Object describing whether the background blur setting can be changed based on the state of the call.

#### getSetBackgroundImageCapability() → {AvayaClientServices.Base.Capability}

  Indicates whether the client could set the background image setting for the call.

  ##### Returns:

  { AvayaClientServices.Base.Capability }

  Object describing whether the background image setting can be changed based on the state of the call.

#### getSetNoiseReductionCapability() → {AvayaClientServices.Base.Capability}

  Indicates whether the client could set the noise reduction setting for the call.

  ##### Returns:

  { AvayaClientServices.Base.Capability }

  Object describing whether the noise reduction setting can be changed based on the state of the call.

#### getTransferCapability() → {AvayaClientServices.Base.Capability}

  Returns an indication as to whether this call can be transferred (unattended transfer).

  ##### See:

    - {AvayaClientServices.Services.Call.Call#transfer}

  ##### Returns:

  { AvayaClientServices.Base.Capability }

  Object describing whether the transfer operation is allowed on the call based on the state of the call.

#### getTransferToCapability() → {AvayaClientServices.Base.Capability}

  Indicates whether the call can be transferred to another call (attended transfer). Conference calls cannot be transferred.

  ##### See:

    - {AvayaClientServices.Services.Call.Call#attendedTransfer}

  ##### Returns:

  { AvayaClientServices.Base.Capability }

  Object describing whether the transfer to operation is allowed based on the state of the call.

#### getUnholdCapability() → {AvayaClientServices.Base.Capability}

  Returns an indication as to whether the call can be unheld. It should be noted that a subsequent unhold operation is not guaranteed to succeed as it depends on the state of the call that is being unheld.

  ##### See:

    - {AvayaClientServices.Services.Call.Call#unhold}

  ##### Returns:

  { AvayaClientServices.Base.Capability }

  Object describing whether the call can be unheld.

#### getUnmuteCapability() → {AvayaClientServices.Base.Capability}

  Returns an indication as to whether the audio of the call can be unmuted. To be unmuted, the call must be on mute.

  ##### See:

    - {AvayaClientServices.Services.Call.Call#unmuteAudio}

  ##### Returns:

  { AvayaClientServices.Base.Capability }

  Object describing whether the audio of the call can be unmuted.

#### getUnmuteSpeakerCapability() → {AvayaClientServices.Base.Capability}

  Returns an indication as to whether the call audio output can be unmuted. To be unmuted, the call audio output must be on mute.

  ##### See:

    - {AvayaClientServices.Services.Call.Call#unmuteSpeaker}

  ##### Returns:

  { AvayaClientServices.Base.Capability }

  Object describing whether the call audio output can be unmuted.

#### getUnmuteVideoCapability() → {AvayaClientServices.Base.Capability}

  Returns an indication as to whether the video of the call can be unmuted. To be unmuted, the video of the call must be on mute.

  ##### See:

    - {AvayaClientServices.Services.Call.Call#unmuteVideo}

  ##### Returns:

  { AvayaClientServices.Base.Capability }

  Object describing whether the video of the call can be unmuted.

#### getUpdateAudioModeCapability() → {AvayaClientServices.Base.Capability}

  Indicates whether the call can have its desired audio mode changed.

  ##### Returns:

  { AvayaClientServices.Base.Capability }

  Object describing whether the audio mode can be changed based on the state of the call.

#### getUpdateVideoChannelsCapability() → {AvayaClientServices.Base.Capability}

  Indicates whether the call video channels can be updated. Video must be enabled for the call and the call must be active.

  ##### Returns:

  { AvayaClientServices.Base.Capability }

  Object describing whether video channels can be set.

#### getUpdateVideoModeDisableCapability() → {AvayaClientServices.Base.Capability}

  Indicates whether the video call can be deescalated to audio only. Video must be enabled for the call and the call must be active.

  ##### Returns:

  { AvayaClientServices.Base.Capability }

  Object describing whether the video deescalation operation is allowed based on the state of the call.

#### getUpdateVideoModeInactiveCapability() → {AvayaClientServices.Base.Capability}

  Indicates whether the video mode can be updated to inactive. Video must be enabled for the call and the call must be active.

  ##### Returns:

  { AvayaClientServices.Base.Capability }

  Object describing whether the inactive video operation is allowed based on the state of the call.

#### getUpdateVideoModeReceiveOnlyCapability() → {AvayaClientServices.Base.Capability}

  Indicates whether the video mode can be updated to receive only. Video must be enabled for the call and the call must be active.

  ##### Returns:

  { AvayaClientServices.Base.Capability }

  Object describing whether the receive only video operation is allowed based on the state of the call.

#### getUpdateVideoModeSendOnlyCapability() → {AvayaClientServices.Base.Capability}

  Indicates whether the video mode can be updated to send only. Video must be enabled for the call and the call must be active.

  ##### Returns:

  { AvayaClientServices.Base.Capability }

  Object describing whether the send only video operation is allowed based on the state of the call.

#### getUpdateVideoModeSendReceiveCapability() → {AvayaClientServices.Base.Capability}

  Indicates whether an audio only call can be escalated to a video call, or existing call video mode can be updated to send receive. Video must be enabled for the call and the call must be active.

  ##### Returns:

  { AvayaClientServices.Base.Capability }

  Object describing whether the send receive video operation is allowed based on the state of the call.

#### getUpdateWebCollaborationCapability() → {AvayaClientServices.Base.Capability}

  Indicates whether the setting web collaboration operation can be done.

  ##### Returns:

  { AvayaClientServices.Base.Capability }

  Object describing whether the setting web collaboration operation is allowed based on the state of the call.

## Type Definitions

#### onAnswerCallRequestedCallback(call)

  Interface for the callback function to be invoked when remote expects a response to an answer call request

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `call` | AvayaClientServices.Services.Call.Call | The requested call expecting a confirmation

#### onAudioStreamUpdatedCallback(call, audioStream)

  Interface for the callback function to be invoked when the local or remote audio stream of the call is updated.
  Update may include adding, removing, or replacing audio track.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `call` | AvayaClientServices.Services.Call.Call | Call where audio stream were updated.
  `audioStream` | MediaStream | Updated local or remote audio stream.

#### onCallAudioMuteStatusChangedCallback(call)

  Interface for the callback function to be invoked when the audio for the call is muted or unmuted.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `call` | AvayaClientServices.Services.Call.Call | The call where the audio was muted or unmuted.

#### onCallConferenceStatusChangedCallback(call, isConference, uccpURL, webCollaborationURL)

  Interface for the callback function to be invoked when the status of conference associated with the call is changed.
  The callback may be invoked, for example, when a regular call becomes a conference call or when one of the conference properties is changed (like UCCP URL or Web Collaboration URL).

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `call` | AvayaClientServices.Services.Call.Call | The call the conference associated with is changed.
  `isConference` | boolean | True if the call has become a conference call and false if the call is no longer a conference call.
  `uccpURL` | string | URL of the UCCP server that manages the conference.
  `webCollaborationURL` | string | URL of the Web Collaboration server that manages collaboration functionality of the conference.

#### onCallEndedCallback(call, event)

  Interface for the callback function to be invoked when a call is ended either locally or remotely.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `call` | AvayaClientServices.Services.Call.Call | The call that was ended.
  `event` | AvayaClientServices.Services.Call.CallEndEvent | End call event.

#### onCallEstablishedCallback(call)

  Interface for the callback function to be invoked when an outgoing call has been established.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `call` | AvayaClientServices.Services.Call.Call | The established call.

#### onCallEstablishingCallback(call)

  Interface for callback function to be invoked when an incoming call is establishing.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `call` | AvayaClientServices.Services.Call.Call | The establishing call

#### onCallFailedCallback(call, callException)

  Interface for the callback function to be invoked when the call fails. This callback method is called when the call has failed either by a local error or by an error feedback received over the signaling network (e.g. when a call attempt to an unreachable address is made). The specific reason for failure is identified by the callException argument. It should be noted that the call that has failed is not automatically ended. The application needs to call Call.end() to end the failed call.
  This is done in such a way that a client application implementation, that is line-oriented, can keep the line appearance occupied while the call is in the failed state.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `call` | AvayaClientServices.Services.Call.Call | The failed call.
  `callException` | AvayaClientServices.Services.Call.CallException | Exception describing the call failure.

#### onCallHeldCallback(call)

  Interface for the callback function to be invoked when an existing call is locally held.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `call` | AvayaClientServices.Services.Call.Call |

#### onCallHeldRemotelyCallback(call)

  Interface for the callback function to be invoked when an existing call is remotely held.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `call` | AvayaClientServices.Services.Call.Call |

#### onCallIgnoredCallback(call)

  Interface for the callback function to be invoked when an incoming call is locally ignored as a result of a prior Call.ignore() call by the client application.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `call` | AvayaClientServices.Services.Call.Call | Locally ignored incoming call.

#### onCallIncomingVideoAddRequestAcceptedCallback(call)

  Interface for the callback function to be invoked when the request to add incoming video has been accepted by the client application by calling Call.acceptSendVideo().

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `call` | AvayaClientServices.Services.Call.Call | The call where the request to add video has been accepted.

#### onCallIncomingVideoAddRequestDeniedCallback(call)

  Interface for the callback function to be invoked when the request of the far-end to add incoming video has been denied by the local client application by calling Call.denySendVideo(). When the request to add incoming video is reported to the application using onCallIncomingVideoAddRequestReceivedCallback, an internal timer is started for the client application to either accept or deny the request. This is to ensure that the incoming video add transaction is not timed out at the network level. If the client is unable to accept or deny the video add request, the internal timer fires up and the video add request is denied at the signaling protocol level, and onCallIncomingVideoAddRequestTimedOutCallback is called.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `call` | AvayaClientServices.Services.Call.Call | The call where the add video request has been denied.

#### onCallIncomingVideoAddRequestReceivedCallback(call, videoMode)

  Interface for the callback function to be invoked when the far-end has requested adding a new video channel, e.g. when the far-end wants to add video to the existing audio-only call.
  Video will be automatically accepted as receive only. The application can then accept send video as well by calling Call.acceptSendVideo(), or reject send video by calling Call.denySendVideo(). When the request to add the video channel is successfully accepted, onCallIncomingVideoAddRequestAcceptedCallback is called.
  When the request is denied, onCallIncomingVideoAddRequestDeniedCallback is called.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `call` | AvayaClientServices.Services.Call.Call | The call where the far-end has requested to add video to the call.
  `videoMode` | AvayaClientServices.Services.Call.VideoMode | Requested video mode.

#### onCallIncomingVideoAddRequestTimedOutCallback(call)

  Interface for the callback function to be invoked when the incoming video add request has not been accepted or denied by the client application in a timely manner to enable successful setup of the video channel. This can happen if, for example, the client application decides to prompt the user either to accept or deny the request and it takes the user an excessively long time to handle the prompt.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `call` | AvayaClientServices.Services.Call.Call | The call where the add video request has been timed out.

#### onCallJoinedCallback(call)

  Interface for the callback function to be invoked when a previously remote call becomes local as a result of the local application calling Call.join().

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `call` | AvayaClientServices.Services.Call.Call | The call that was joined.

#### onCallQueuedCallback(call)

  This callback is currently unsupported.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `call` | AvayaClientServices.Services.Call.Call | The queued call.

#### onCallRedirectedCallback(call)

  This callback is currently unsupported.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `call` | AvayaClientServices.Services.Call.Call | The redirected call.

#### onCallRemoteAddressChangedCallback(call)

  Interface for callback function to be invoked when address of the call's remote party changes. The new address
  information is provided as part of the callback. For additional information that is updated, e.g., network-provided
  display name or UserToUserInfo, the client may query the Call object.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `call` | AvayaClientServices.Services.Call.Call |

#### onCallRemoteAlertingCallback(call, hasEarlyMedia)

  Interface for the callback function to be invoked when the call is alerting on the remote participant's side.

  Called when an outgoing call has received ring back information from the signaling network. It should be noted that there may be one or more callbacks as a result of initiating an outgoing call. For example, a call may start out not having early media. This may be followed by another invocation of the callback with hasEarlyMedia set to true. After that, the call can be possibly redirected and then followed by one more invocation of the callback with hasEarlyMedia set to false.
  Application developers should not make an assumption about the exact ordering of such provisional responses, as the sequence depends on different call routing features and call topology.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `call` | AvayaClientServices.Services.Call.Call |
  `hasEarlyMedia` | boolean | Flag indicating whether there is an early dialog media call associated with the call or not.

#### onCallServiceAvailableCallback(call)

  Interface for the callback function to be invoked when the signaling path of the call is available.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `call` | AvayaClientServices.Services.Call.Call |

#### onCallServiceUnavailableCallback(call)

  Interface for the callback function to be invoked when the signaling path of the call has failed.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `call` | AvayaClientServices.Services.Call.Call | The call where the signaling path has failed.

#### onCallSpeakerMuteStatusChangedCallback(call)

  Interface for the callback function to be invoked when the speakers for the call are muted or unmuted.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `call` | AvayaClientServices.Services.Call.Call | The call where the speakers were muted or unmuted.

#### onCallStartedCallback(call)

  Interface for the callback function to be invoked when the call is started.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `call` | AvayaClientServices.Services.Call.Call | Call that was started.

  ##### See:

    - {AvayaClientServices.Services.Call.Call#onCallEstablishedCallback}

#### onCallUnheldCallback(call)

  Interface for the callback function to be invoked when an existing call is locally unheld.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `call` | AvayaClientServices.Services.Call.Call |

#### onCallUnheldRemotelyCallback(call)

  Interface for the callback function to be invoked when an existing call is remotely unheld.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `call` | AvayaClientServices.Services.Call.Call |

#### onCallVideoChannelsUpdatedCallback(call, videoChannels)

  Interface for the callback function to be invoked when the video channels of the call are updated.
  Update may include video direction change (e.g. changing from receive-only to send-receive) or video resolution change.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `call` | AvayaClientServices.Services.Call.Call | Call where video channels were updated.
  `videoChannels` | Array.<AvayaClientServices.Services.Call.VideoChannel> | Updated video channels.

#### onCallVideoMuteStatusChangedCallback(call, muted, errorReason)

  Interface for the callback function to be invoked when the video for the call is muted or unmuted.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `call` | AvayaClientServices.Services.Call.Call |  | The call where the video was muted or unmuted.
  `muted` | Boolean |  |
  `errorReason` | AvayaClientServices.Services.Call.CallError | undefined | <optional> |

#### onCallVideoRemovedRemotelyCallback(call, videoChannel)

  Interface for the callback function to be invoked when the far-end of the call has removed video and the call has become an audio-only call.
  This callback is deprecated and should not be used by the applications.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `call` | AvayaClientServices.Services.Call.Call |
  `videoChannel` | AvayaClientServices.Services.Call.VideoChannel | Video channel.

  Deprecated:
    - Yes

#### onMediaConnectedCallback()

  Interface for the callback function to be invoked when the media
  path is established

#### onMediaDisconnectedCallback()

  Interface for the callback function to be invoked when the media
  path is disconnected but may still be recoverable

#### onMediaFailedCallback()

  Interface for the callback function to be invoked when the media
  path failed to be reestablished, and won't be recoverable

#### onParticipantDroppedCallback(call)

  Interface for the callback function to be invoked when the remote participant is dropped from the call.
  This callback is deprecated and should not be used.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `call` | AvayaClientServices.Services.Call.Call | The call the participant was dropped from.

  Deprecated:
    - Yes

#### onRemoteVideoAddedCallback(call, stream)

  Interface for the callback function to be invoked when remote video is added to the call.
  This callback is deprecated and not recommended for use.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `call` | AvayaClientServices.Services.Call.Call | Call the video was added to.
  `stream` | MediaStream | Video stream added to the call.

  Deprecated:
    - Yes

#### onRemoteVideoRemovedCallback(call)

  Interface for the callback function to be invoked when remote video is removed from the call.
  This callback is deprecated and not recommended for use.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `call` | AvayaClientServices.Services.Call.Call | Call the video was removed from.

  Deprecated:
    - Yes

#### onServiceQualityScoreChangedCallback(absoluteCategoryRating)

  Interface for the callback function to be invoked when the service
  quality score has changed

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `absoluteCategoryRating` | AvayaClientServices.Base.AbsoluteCategoryRating |

#### onTerminateCallRequestedCallback(call)

  Interface for the callback function to be invoked when remote expects a response to a terminate call request

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `call` | AvayaClientServices.Services.Call.Call | The terminating call expecting a confirmation

#### onUpdateCallRequestedCallback(call)

  Interface for the callback function to be invoked when remote expects a response to an update call request

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `call` | AvayaClientServices.Services.Call.Call | The updated call expecting a confirmation