# Class: SelfPresence

## Constructor

#### new SelfPresence()

  Presence information for a local user. This class is used to create and set up the desired presence state for a local user (outgoing presence).
  The class extends Presence with a set of functions enabling to update the application presence information.
  Presence information is divided into 2 parts: automatic and application.

  The automatic part consists of so-called presence channels and their availability.
  A channel is a way of communication with a user including communication address and availability of the channel.
  The channels include the phone channel, the video channel, the IM channel and the calendar channel.
  For instance, the phone channel represents a phone number of a user and current PresenceState of the channel.
  If the state of the phone channel is available, the user is able to receive calls. If the state is "on a call", the user is unlikely to accept a new call.

  The application part of presence information consists of manually published PresenceState, PresenceLocationMode and a note.
  Application PresenceState is a presence state that a user wants to set their client to.
  Application PresenceLocationMode is also controlled by the user specifying their current location.
  Application note is merely a short string representing some user comment regarding their current status.

  Although there are many aspects of presence information, there is also an overall presence state populated automatically.
  The overall state should be used to represent the state of the user.

  ##### See:

    - AvayaClientServices.Services.Presence.Presence

## Methods

#### setEnterpriseIMState(state) → {boolean}

  Sets the presence state of the enterprise instant messaging channel.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `state` | AvayaClientServices.Services.Presence.IMPresenceState | Enterprise IM channel state to set.

  ##### Returns:

  { boolean }

#### setPhoneState(state) → {boolean}

  Sets the presence state of the phone channel.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `state` | AvayaClientServices.Services.Presence.PhonePresenceState | Phone channel state to set.

  ##### Returns:

  { boolean }

#### setVideoState(state) → {boolean}

  Sets the presence state of the video channel.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `state` | AvayaClientServices.Services.Presence.VideoPresenceState | Video channel state to set.

  ##### Returns:

  { boolean }