# Class: PendingParticipant

## Constructor

#### new PendingParticipant(conference, participantService)

  PendingParticipant class represents a participant pending to join the conference.
  When a conference call is locked, a person who wishes to join the call may "knock on the
  conference room door" using conference server's knock on the door feature. This person is
  described as a pending participant, because the person is waiting to join the call.
  The conference moderator(s) may choose to grant or reject the pending participant's request.
  Access grant and rejection are controlled by the accept() and deny() methods defined on the
  PendingParticipant object, respectively.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `conference` | AvayaClientServices.Services.Conference |
  `participantService` | AvayaClientServices.Services.Conference.ParticipantService |

## Methods

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

  Accept this pending participant into the conference.

  ##### Returns:

  { AvayaClientServices.Base.Promise }

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

  Deny this pending participant into the conference

  ##### Returns:

  { AvayaClientServices.Base.Promise }

#### getAddress() → {string}

  Returns participant's address

  Inherited From:
    - AvayaClientServices.Services.Participant#getAddress

  ##### Returns:

  { string }

#### getAllPossibleContactMatches() → {AvayaClientServices.Services.Contacts.MatchedContactsWithMatchLevel|undefined}

  Return all possible contact matches or undefined if there are no matches.

  Inherited From:
    - AvayaClientServices.Services.Participant#getAllPossibleContactMatches

  ##### Returns:

  { AvayaClientServices.Services.Contacts.MatchedContactsWithMatchLevel | undefined }

#### getBestContactMatch() → {AvayaClientServices.Services.Contacts.Contact|undefined}

  Return best possible contact match. If no match was found, undefined is returned.

  Inherited From:
    - AvayaClientServices.Services.Participant#getBestContactMatch

  ##### Returns:

  { AvayaClientServices.Services.Contacts.Contact | undefined }

#### getDisplayName() → {string}

  Returns participant's display name.

  Inherited From:
    - AvayaClientServices.Services.Participant#getDisplayName

  ##### Returns:

  { string }

#### getParticipantAuthorizationStatus() → {AvayaClientServices.Services.Conference.ParticipantAuthorizationStatus}

  Returns participant's status.

  Inherited From:
    - AvayaClientServices.Services.Conference.Participant#getParticipantAuthorizationStatus

  ##### Returns:

  { AvayaClientServices.Services.Conference.ParticipantAuthorizationStatus }

#### getParticipantId() → {string}

  Returns participant's unique id.

  Inherited From:
    - AvayaClientServices.Services.Participant#getParticipantId

  ##### Returns:

  { string }

#### isActiveParticipant() → {boolean}

  Returns true if participant is in active status.

  Inherited From:
    - AvayaClientServices.Services.Conference.Participant#isActiveParticipant

  ##### Returns:

  { boolean }

#### isLocalUser() → {boolean}

  Returns true, if participant is self.

  Inherited From:
    - AvayaClientServices.Services.Participant#isLocalUser

  ##### Returns:

  { boolean }

#### isPendingParticipant() → {boolean}

  Returns true if participant is in pending status.

  Inherited From:
    - AvayaClientServices.Services.Conference.Participant#isPendingParticipant

  ##### Returns:

  { boolean }

#### <protected> setAddress(address)

  Sets participant's address.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `address` | string |

  Inherited From:
    - AvayaClientServices.Services.Participant#setAddress

#### setDisplayName(displayName)

  Returns participant's display name.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `displayName` | string |

  Inherited From:
    - AvayaClientServices.Services.Participant#setDisplayName

### Callbacks

#### addOnParticipantMatchedContactsChangedCallback(callback) → {void}

  Adds new onParticipantMatchedContactsChangedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Participant#onParticipantMatchedContactsChangedCallback | Function to be called

  Inherited From:
    - AvayaClientServices.Services.Participant#addOnParticipantMatchedContactsChangedCallback

  ##### Returns:

  { void }

#### removeOnParticipantMatchedContactsChangedCallback(callback) → {void}

  Removes existing onParticipantMatchedContactsChangedCallback.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Participant#onParticipantMatchedContactsChangedCallback | Function to be removed

  Inherited From:
    - AvayaClientServices.Services.Participant#removeOnParticipantMatchedContactsChangedCallback

  ##### Returns:

  { void }

### Managing callbacks

#### addOnPendingParticipantAcceptedCallback(callback) → {void}

  Add callback on specific event

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Conference.PendingParticipant#onPendingParticipantAcceptedCallback | Function to be called

  ##### Returns:

  { void }

#### addOnPendingParticipantCancelledCallback(callback) → {void}

  Add callback on specific event

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Conference.PendingParticipant#onPendingParticipantCancelledCallback | Function to be called

  ##### Returns:

  { void }

#### addOnPendingParticipantDeniedCallback(callback) → {void}

  Add callback on specific event

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Conference.PendingParticipant#onPendingParticipantDeniedCallback | Function to be called

  ##### Returns:

  { void }

#### removeOnPendingParticipantAcceptedCallback(callback) → {void}

  Remove previously added callback

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Conference.PendingParticipant#onPendingParticipantAcceptedCallback | Function to be removed

  ##### Returns:

  { void }

#### removeOnPendingParticipantCancelledCallback(callback) → {void}

  Remove previously added callback

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Conference.PendingParticipant#onPendingParticipantCancelledCallback | Function to be removed

  ##### Returns:

  { void }

#### removeOnPendingParticipantDeniedCallback(callback) → {void}

  Remove previously added callback

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `callback` | AvayaClientServices.Services.Conference.PendingParticipant#onPendingParticipantDeniedCallback | Function to be removed

  ##### Returns:

  { void }

### Capabilities

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

  Returns the capability indicating if the participant can become a lecturer.

  Inherited From:
    - AvayaClientServices.Services.Conference.Participant#getAssignParticipantAsLecturerCapability

  ##### Returns:

  { AvayaClientServices.Base.Capability }

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

  Returns the capability indicating if the video of participant can be blocked.

  Inherited From:
    - AvayaClientServices.Services.Conference.Participant#getBlockParticipantVideoCapability

  ##### Returns:

  { AvayaClientServices.Base.Capability }

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

  Returns the capability indicating if the participant can change another participant name(if first one is owner of VRM)

  Inherited From:
    - AvayaClientServices.Services.Conference.Participant#getChangeParticipantNameCapability

  ##### Returns:

  { AvayaClientServices.Base.Capability }

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

  Returns the capability indicating if the participant's role can be changed.

  Inherited From:
    - AvayaClientServices.Services.Conference.Participant#getChangeRoleCapability

  ##### Returns:

  { AvayaClientServices.Base.Capability }

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

  Returns the capability indicating if the participant's hand can be lowered.

  Inherited From:
    - AvayaClientServices.Services.Conference.Participant#getLowerParticipantHandCapability

  ##### Returns:

  { AvayaClientServices.Base.Capability }

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

  Returns the capability indicating if the audio of participant can be muted.

  Inherited From:
    - AvayaClientServices.Services.Conference.Participant#getMuteParticipantAudioCapability

  ##### Returns:

  { AvayaClientServices.Base.Capability }

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

  Returns the capability indicating if the participant's remote camera can be controlled.

  Inherited From:
    - AvayaClientServices.Services.Conference.Participant#getRemoteCameraControlCapability

  ##### Returns:

  { AvayaClientServices.Base.Capability }

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

  Returns the capability indicating if the video of participant can be unblocked.

  Inherited From:
    - AvayaClientServices.Services.Conference.Participant#getUnblockParticipantVideoCapability

  ##### Returns:

  { AvayaClientServices.Base.Capability }

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

  Returns the capability indicating if the audio of participant can be unmuted.

  Inherited From:
    - AvayaClientServices.Services.Conference.Participant#getUnmuteParticipantAudioCapability

  ##### Returns:

  { AvayaClientServices.Base.Capability }

## Type Definitions

#### onParticipantMatchedContactsChangedCallback(participant) → {void}

  Interface for callback function to be invoked when matched contacts for this participant are changed.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `participant` | AvayaClientServices.Services.Participant | Participant the matched contacts of which were changed

  Inherited From:
    - AvayaClientServices.Services.Participant#onParticipantMatchedContactsChangedCallback

  ##### Returns:

  { void }

#### onPendingParticipantAcceptedCallback(participant, anotherModerator) → {void}

  Report that a pending participant's request to join the conference call has been accepted either by the local
  user, if the local user is a moderator, or by a moderator on the call.
  A separate OnConferenceParticipantAdded event is also reported.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `participant` | AvayaClientServices.Services.Conference.PendingParticipant |  | Participant object that the callback is associated with Participant object that the callback is associated with
  `anotherModerator` | string | <optional> |

  ##### Returns:

  { void }

#### onPendingParticipantCancelledCallback(participant, reason, anotherModerator) → {void}

  Report that a user is not longer waiting to be admitted to the conference call.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `participant` | AvayaClientServices.Services.Conference.PendingParticipant | Participant object that the callback is associated with Participant object that the callback is associated with
  `reason` | string |
  `anotherModerator` | string |

  ##### Returns:

  { void }

#### onPendingParticipantDeniedCallback(participant, anotherModerator) → {void}

  Report that a pending participant's request to join the conference call has been denied either by the local
  user, if the local user is a moderator, or by a moderator on the call.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `participant` | AvayaClientServices.Services.Conference.PendingParticipant |  | Participant object that the callback is associated with Participant object that the callback is associated with
  `anotherModerator` | string | <optional> |

  ##### Returns:

  { void }