Package com.avaya.clientservices.call.conference

## Interface ActiveParticipant

- All Superinterfaces:
    `Participant`

      public interface ActiveParticipant
      extends Participant

  Interface representing active conference participant.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addListener​(ActiveParticipantListener listener)` | Adds a new `ActiveParticipantListener` to the participant.
    `void` | `assignAsLecturer​(CallCompletionHandler handler)` | Set this participant as a conference lecturer.
    `void` | `assignAsModerator​(CallCompletionHandler handler)` | Set this participant as the conference moderator.
    `void` | `assignAsPresenter​(CallCompletionHandler handler)` | Set this participant as a conference presenter.
    `void` | `blockVideo​(CallCompletionHandler handler)` | Blocks video of the selected participant.
    `void` | `controlRemoteCamera​(CameraControl command, CallCompletionHandler handler)` | Initiate remote camera control command.
    `Capability` | `getAssignAsLecturerCapability()` | Returns whether local user can change a selected participant's role to be a lecturer on the conference call.
    `Capability` | `getAssignAsModeratorCapability()` | Returns whether local user can change a selected participant's role to be a moderator on the conference call.
    `Capability` | `getAssignAsPresenterCapability()` | Returns whether local user can change a selected participant's role to be a presenter on the conference call.
    `ParticipantMediaStatus` | `getAudioStatus()` | Returns the audio status of the participant.
    `Capability` | `getBlockVideoCapability()` | Returns whether local user can block a selected participant's video.
    `Capability` | `getCameraRemoteControlCapability()` | Capability info indicating whether local user can control the participant's camera.
    `ParticipantConnectionStatus` | `getConnectionStatus()` | Returns the connection status of the participant.
    `java.util.Date` | `getEntryTime()` | Returns participant's entry time to the conference.
    `java.util.Date` | `getHandLoweredTime()` |
    `java.util.Date` | `getHandRaisedTime()` |
    `Capability` | `getInConferencePrivateChatCapability()` | Returns whether the user supports private chat in conference.
    `java.util.Date` | `getLastSpokenTime()` | Returns time when the participant spoke last time.
    `Capability` | `getLowerHandAndUnmuteAudioCapability()` | Returns whether local user can lower participant's hand and unmute audio.
    `Capability` | `getLowerHandCapability()` | Returns whether local user can lower a raised hand on the conference call.
    `Capability` | `getMuteAudioCapability()` | Returns whether local user can mute a selected participant's audio.
    `Capability` | `getUnassignAsLecturerCapability()` | Returns whether local user can change a selected participant's role to be a lecturer on the conference call.
    `Capability` | `getUnassignAsPresenterCapability()` | Returns whether local user can change a selected participant's role to be a participant on the conference call.
    `Capability` | `getUnblockVideoCapability()` | Returns whether local user can unblock a selected participant's video.
    `Capability` | `getUnmuteAudioCapability()` | Returns whether local user can unmute a selected participant's audio.
    `Capability` | `getVideoPinCapability()` | Returns whether the local user can pin current participant's video in a specific position of the current video layout.
    `ParticipantMediaStatus` | `getVideoStatus()` | Returns the video status of the participant.
    `boolean` | `isActiveAudioParticipant()` | Indicates as to whether the participant is an audio participant.
    `boolean` | `isActiveVideoParticipant()` | Indicates as to whether the participant is a video participant.
    `boolean` | `isApplicationSharingActive()` | Indicates whether the participant's web collaboration is active.
    `boolean` | `isAudioMutedByServer()` | Indicates participant's audio mute status, as known by the conferencing system.
    `boolean` | `IsCameraRemoteControllable()` |
    `boolean` | `isHandRaised()` | Indicates whether the participant's hand is raised.
    `boolean` | `isLecturer()` | Indicates whether the participant is a lecturer.
    `boolean` | `isModerator()` | Indicates whether the participant is a moderator.
    `boolean` | `isPresenter()` | Indicates whether the participant is a presenter.
    `boolean` | `isRestrictedParticipant()` | Returns true if the participant has limited capabilities.
    `boolean` | `isVideoBlockedByServer()` | Indicates participant's video blocked (i.e., transmission) status, as known by the conferencing system.
    `void` | `lowerHand​(boolean unmuteAudio, CallCompletionHandler completionHandler)` | Called by the moderator to lower the hand of another participant.
    `void` | `mute​(CallCompletionHandler handler)` | Mutes audio of the participant.
    `void` | `pinVideo​(float destinationXCoordinate, float destinationYCoordinate, CallCompletionHandler handler)` | Requests for a specific participant's video to be pinned in a certain area of the video image.
    `void` | `removeListener​(ActiveParticipantListener listener)` | Removes a `ActiveParticipantListener` from the participant.
    `void` | `unassignAsLecturer​(CallCompletionHandler handler)` | Unset this participant as the conference lecturer.
    `void` | `unassignAsModerator​(CallCompletionHandler handler)` | Unset this participant as the conference moderator.
    `void` | `unassignAsPresenter​(CallCompletionHandler handler)` | Unset this participant as a conference presenter.
    `void` | `unblockVideo​(CallCompletionHandler handler)` | Unblocks video of the selected participant.
    `void` | `unmute​(CallCompletionHandler handler)` | Unmutes audio of the participant.
    `boolean` | `wasPreviouslyNotVisibleInParticipantList()` | Returns true if the participant was on the conference but previously not visible in the conference roster.

    - ### Methods inherited from interface com.avaya.clientservices.call.conference.Participant

      `addListener, getAddress, getAllPossibleContactMatches, getBestContactMatch, getDisplayName, getParticipantId, isLocalUser, removeListener, sendPrivateChatMessage`

- - ### Method Detail

    - #### addListener

          void addListener​(ActiveParticipantListener listener)

      Adds a new `ActiveParticipantListener` to the participant.
      Parameters:
        `listener` - Listener instance that should be added to the participant.
      See Also:
        `removeListener(ActiveParticipantListener listener)`

    - #### removeListener

          void removeListener​(ActiveParticipantListener listener)

      Removes a `ActiveParticipantListener` from the participant.
      Parameters:
        `listener` - Listener instance that is removed from the participant.
      See Also:
        `addListener(ActiveParticipantListener listener)`

    - #### getConnectionStatus

          ParticipantConnectionStatus getConnectionStatus()

      Returns the connection status of the participant.
      Returns:
        Participant's connection status, as known to the conferencing system.

    - #### getVideoStatus

          ParticipantMediaStatus getVideoStatus()

      Returns the video status of the participant.
      Returns:
        Participant's video status, as known to the conferencing system.

    - #### isVideoBlockedByServer

          boolean isVideoBlockedByServer()

      Indicates participant's video blocked (i.e., transmission) status, as known by the conferencing system.
      Returns:
        true if participant's video is blocked, false otherwise.

    - #### blockVideo

          void blockVideo​(CallCompletionHandler handler)

      Blocks video of the selected participant.
      Parameters:
        `handler` - The `CallCompletionHandler` object that wants to learn about the result of the operation, i.e., whether it was successful.
      See Also:
        `unblockVideo(CallCompletionHandler handler)`

    - #### unblockVideo

          void unblockVideo​(CallCompletionHandler handler)

      Unblocks video of the selected participant.
      Parameters:
        `handler` - The `CallCompletionHandler` object that wants to learn about the result of the operation, i.e., whether it was successful.
      See Also:
        `blockVideo(CallCompletionHandler handler)`

    - #### controlRemoteCamera

          void controlRemoteCamera​(CameraControl command,
                                   CallCompletionHandler handler)

      Initiate remote camera control command. If the far-end camera does not support remote camera commands, the command fails.
      Parameters:
        `command` - Remote `CameraControl` command.
        `handler` - The `CallCompletionHandler` object that wants to learn about the result of the operation, i.e., whether it was successful.

    - #### getAudioStatus

          ParticipantMediaStatus getAudioStatus()

      Returns the audio status of the participant.
      Returns:
        Participant's audio status, as known to the conferencing system.

    - #### isAudioMutedByServer

          boolean isAudioMutedByServer()

      Indicates participant's audio mute status, as known by the conferencing system.
      Returns:
        true if participant's audio is muted, false otherwise.

    - #### isActiveAudioParticipant

          boolean isActiveAudioParticipant()

      Indicates as to whether the participant is an audio participant.
      Returns:
        true if participant is an audio participant, false otherwise.

    - #### isActiveVideoParticipant

          boolean isActiveVideoParticipant()

      Indicates as to whether the participant is a video participant.
      Returns:
        true if participant is an video participant, false otherwise.

    - #### mute

          void mute​(CallCompletionHandler handler)

      Mutes audio of the participant.
      Parameters:
        `handler` - The `CallCompletionHandler` object that wants to learn about the result of the operation, i.e., whether it was successful.
      See Also:
        `unmute(CallCompletionHandler handler)`

    - #### unmute

          void unmute​(CallCompletionHandler handler)

      Unmutes audio of the participant.
      Parameters:
        `handler` - The `CallCompletionHandler` object that wants to learn about the result of the operation, i.e., whether it was successful.
      See Also:
        `mute(CallCompletionHandler handler)`

    - #### isApplicationSharingActive

          boolean isApplicationSharingActive()

      Indicates whether the participant's web collaboration is active.
      Returns:
        True if this participant's web collaboration is active, false otherwise.

    - #### isHandRaised

          boolean isHandRaised()

      Indicates whether the participant's hand is raised.
      Returns:
        true if the participant's hand is raised, false otherwise.

    - #### getHandRaisedTime

          java.util.Date getHandRaisedTime()

      Returns:
        The time participant has raised hand. Return value is null if hand is lowered or never raised.

    - #### getHandLoweredTime

          java.util.Date getHandLoweredTime()

      Returns:
        The time participant has lowered hand. Return value is null if hand is raised or never lowered.

    - #### lowerHand

          void lowerHand​(boolean unmuteAudio,
                         CallCompletionHandler completionHandler)

      Called by the moderator to lower the hand of another participant.
      Parameters:
        `unmuteAudio` - Boolean value indicates as to whether the participant whose hand is lowered is to be unmuted.
        `completionHandler` - The `CallCompletionHandler` object that wants to learn about the result of the operation, i.e., whether it was successful.

    - #### IsCameraRemoteControllable

          boolean IsCameraRemoteControllable()

      Returns:
        Information as to whether the participant's camera is controllable.

    - #### isModerator

          boolean isModerator()

      Indicates whether the participant is a moderator.
      Returns:
        true if the participant is a moderator, false otherwise.

    - #### isRestrictedParticipant

          boolean isRestrictedParticipant()

      Returns true if the participant has limited capabilities. Restricted participant cannot be lecturer or presenter and cannot become a normal participant. Restricted participant has no moderator controls and can only have a single receive-only video stream. Restricted participant cannot unblock camera and send video, or cannot perform remote camera control operations (e.g., control camera of a remote room system). Restricted participant is muted by the conference server by default, and can only be unmuted by the moderator, e.g., by getting moderator's attention to be unmuted through raise hand mechanism.
      Returns:
        True if the participant has limited capabilities, false otherwise.

    - #### wasPreviouslyNotVisibleInParticipantList

          boolean wasPreviouslyNotVisibleInParticipantList()

      Returns true if the participant was on the conference but previously not visible in the conference roster. This can happen when there are more participants on the conference call than what can be provided by the conference server in the roster. When/if this hidden user becomes visible and gets added to the roster, the client can use this property to identify that this participant was already in the conference (and not just entering the meeting). The client application can use this property to update its UI accordingly: for example adding a special badge icon for this participant or adding the participant to a different list.
      Returns:
        True if the participant was previously not visible in roster, false otherwise.

    - #### assignAsModerator

          void assignAsModerator​(CallCompletionHandler handler)

      Set this participant as the conference moderator.
      Parameters:
        `handler` - The `CallCompletionHandler` object that wants to learn about the result of the operation, i.e., whether it was successful.
      See Also:
        `unassignAsModerator(CallCompletionHandler handler)`

    - #### unassignAsModerator

          void unassignAsModerator​(CallCompletionHandler handler)

      Unset this participant as the conference moderator.
      Parameters:
        `handler` - The `CallCompletionHandler` object that wants to learn about the result of the operation, i.e., whether it was successful.
      See Also:
        `assignAsModerator(CallCompletionHandler handler)`

    - #### isPresenter

          boolean isPresenter()

      Indicates whether the participant is a presenter.
      Returns:
        true if the participant is a presenter, false otherwise.

    - #### assignAsPresenter

          void assignAsPresenter​(CallCompletionHandler handler)

      Set this participant as a conference presenter.
      Parameters:
        `handler` - The `CallCompletionHandler` object that wants to learn about the result of the operation, i.e., whether it was successful.
      See Also:
        `unassignAsPresenter(CallCompletionHandler handler)`

    - #### unassignAsPresenter

          void unassignAsPresenter​(CallCompletionHandler handler)

      Unset this participant as a conference presenter.
      Parameters:
        `handler` - The `CallCompletionHandler` object that wants to learn about the result of the operation, i.e., whether it was successful.
      See Also:
        `assignAsPresenter(CallCompletionHandler handler)`

    - #### isLecturer

          boolean isLecturer()

      Indicates whether the participant is a lecturer.
      Returns:
        true if the participant is a lecturer, false otherwise.

    - #### assignAsLecturer

          void assignAsLecturer​(CallCompletionHandler handler)

      Set this participant as a conference lecturer.
      Parameters:
        `handler` - The `CallCompletionHandler` object that wants to learn about the result of the operation, i.e., whether it was successful.
      See Also:
        `unassignAsLecturer(CallCompletionHandler handler)`

    - #### unassignAsLecturer

          void unassignAsLecturer​(CallCompletionHandler handler)

      Unset this participant as the conference lecturer.
      Parameters:
        `handler` - The `CallCompletionHandler` object that wants to learn about the result of the operation, i.e., whether it was successful.
      See Also:
        `assignAsLecturer(CallCompletionHandler handler)`

    - #### pinVideo

          void pinVideo​(float destinationXCoordinate,
                        float destinationYCoordinate,
                        CallCompletionHandler handler)

      Requests for a specific participant's video to be pinned in a certain area of the video image. The destination coordinates can be any point within a video region inside the video image. They do not have to be a point at the boundary of the video region. In order to undo a previous video pin operation, the application needs to call Conference.setVideoLayout and specify the VideoLayoutType.DYNAMIC layout option.
      Parameters:
        `destinationXCoordinate` - Horizontal coordinate of the participant's final video position in the video image. The float type value in range (0.0, 1.0), with 0.0 referring to the left most side, and 1.0 to the right most side of the video image.
        `destinationYCoordinate` - Vertical coordinate of the participant's final video position in the video image. The float type value in range (0.0, 1.0), with 0.0 referring to the top, and 1.0 to the bottom of the video image.
        `handler` - `CallCompletionHandler` object that wants to learn about the result of the operation, i.e., whether it was successful.
      Throws:
        `java.lang.IllegalArgumentException` - if either of the coordinates is outside of the allowed range (0.0, 1.0)
      See Also:
        `getVideoPinCapability()`

    - #### getLastSpokenTime

          java.util.Date getLastSpokenTime()

      Returns time when the participant spoke last time.
      Returns:
        date and time value.

    - #### getLowerHandCapability

          Capability getLowerHandCapability()

      Returns whether local user can lower a raised hand on the conference call. The capability returns not supported if the conference call does not support raise hand feature, or if the local user does not have permission to lower another participant's hand. Lower participant hand capability is not supported when the client is used in shared control mode. See `SharedControlService`
      Returns:
        capability information.

    - #### getLowerHandAndUnmuteAudioCapability

          Capability getLowerHandAndUnmuteAudioCapability()

      Returns whether local user can lower participant's hand and unmute audio. This capability is Allowed if all of the following are true:
      - The conference call supports raise hand feature.
      - The local user has permission to lower another participant's hand.
      - Participant's hand is raised.
      - Participant's audio is muted by moderator.
      Conference moderation features are not supported when the client is used in shared control mode. See `getLowerHandCapability()`
      Returns:
        Capability information.

    - #### getMuteAudioCapability

          Capability getMuteAudioCapability()

      Returns whether local user can mute a selected participant's audio. The capability returns not supported if the conference call does not support muting of selected participant, or if the local user does not have permission to mute another participant on the call.
      Returns:
        capability information.

    - #### getCameraRemoteControlCapability

          Capability getCameraRemoteControlCapability()

      Capability info indicating whether local user can control the participant's camera. Typically, a conference room system's camera is remotely controllable, where position/tilt/zoom (PTZ) of the camera can be controlled programmatically. The capability returns not supported if the participant does not have a remote controllable camera.
      Returns:
        capability information.

    - #### getUnmuteAudioCapability

          Capability getUnmuteAudioCapability()

      Returns whether local user can unmute a selected participant's audio. The capability returns not supported if the conference call does not support unmuting of selected participant, or if the local user does not have permission to unmute another participant on the call.
      Returns:
        capability information.

    - #### getBlockVideoCapability

          Capability getBlockVideoCapability()

      Returns whether local user can block a selected participant's video. The capability returns not supported if the conference call does not support control of another participant's video, or if the local user does not have permission to block another participant's video on the call. Conference video capabilities are not supported when the client is used in shared control mode. See `SharedControlService`
      Returns:
        capability information.

    - #### getUnblockVideoCapability

          Capability getUnblockVideoCapability()

      Returns whether local user can unblock a selected participant's video. The capability returns not supported if the conference call does not support control of another participant's video, or if the local user does not have permission to unblock another participant's video on the call. Conference video capabilities are not supported when the client is used in shared control mode. See `SharedControlService`
      Returns:
        capability information.

    - #### getAssignAsModeratorCapability

          Capability getAssignAsModeratorCapability()

      Returns whether local user can change a selected participant's role to be a moderator on the conference call. The capability returns not supported if the conference call does not not have permission to change another participant's role on the call. Conference moderation capabilities are not supported when the client is used in shared control mode. See `SharedControlService`
      Returns:
        capability information.

    - #### getAssignAsPresenterCapability

          Capability getAssignAsPresenterCapability()

      Returns whether local user can change a selected participant's role to be a presenter on the conference call. The capability returns not supported if the conference call does not support control of another participant's role, or if the local user does not have permission to change another participant's role on the call. Conference moderation capabilities are not supported when the client is used in shared control mode. See `SharedControlService`
      Returns:
        capability information.

    - #### getUnassignAsPresenterCapability

          Capability getUnassignAsPresenterCapability()

      Returns whether local user can change a selected participant's role to be a participant on the conference call. The capability returns not supported if the conference call does not support control of another participant's role, or if the local user does not have permission to change another participant's role on the call. Conference moderation capabilities are not supported when the client is used in shared control mode. See `SharedControlService`
      Returns:
        capability information.

    - #### getUnassignAsLecturerCapability

          Capability getUnassignAsLecturerCapability()

      Returns whether local user can change a selected participant's role to be a lecturer on the conference call. The capability returns not supported if the conference call does not support control of another participant's role, or if the local user does not have permission to change another participant's role on the call. Conference moderation capabilities are not supported when the client is used in shared control mode. See `SharedControlService`
      Returns:
        capability information.

    - #### getAssignAsLecturerCapability

          Capability getAssignAsLecturerCapability()

      Returns whether local user can change a selected participant's role to be a lecturer on the conference call. The capability returns not supported if the conference call does not support control of another participant's role, or if the local user does not have permission to change another participant's role on the call. Conference moderation capabilities are not supported when the client is used in shared control mode. See `SharedControlService`
      Returns:
        capability information.

    - #### getInConferencePrivateChatCapability

          Capability getInConferencePrivateChatCapability()

      Returns whether the user supports private chat in conference.
      Returns:
        capability information.

    - #### getVideoPinCapability

          Capability getVideoPinCapability()

      Returns whether the local user can pin current participant's video in a specific position of the current video layout. This capability returns not supported if the conference call does not support video pinning, or video pin requests. Conference video capabilities are not supported when the client is used in shared control mode. See `SharedControlService`
      Returns:
        Pin video capability information.
      See Also:
        `pinVideo(float, float, CallCompletionHandler)`

    - #### getEntryTime

          java.util.Date getEntryTime()

      Returns participant's entry time to the conference.
      Returns:
        date and time value.